ngx-bootstrap 19.0.2 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs +14 -14
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -1
- package/accordion/index.d.ts +72 -1
- package/alert/fesm2022/ngx-bootstrap-alert.mjs +11 -11
- package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -1
- package/alert/index.d.ts +53 -1
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs +14 -14
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -1
- package/buttons/index.d.ts +117 -1
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs +14 -14
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -1
- package/carousel/index.d.ts +238 -1
- package/chronos/fesm2022/ngx-bootstrap-chronos.mjs +1 -1
- package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -1
- package/chronos/index.d.ts +315 -1
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs +8 -8
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
- package/collapse/index.d.ts +55 -1
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs +4 -4
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -1
- package/component-loader/index.d.ts +127 -1
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +88 -88
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
- package/datepicker/index.d.ts +1113 -1
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +23 -23
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
- package/dropdown/index.d.ts +191 -1
- package/fesm2022/ngx-bootstrap.mjs.map +1 -1
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs +20 -20
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -1
- package/focus-trap/index.d.ts +274 -1
- package/index.d.ts +2 -2
- package/locale/fesm2022/ngx-bootstrap-locale.mjs.map +1 -1
- package/locale/index.d.ts +1 -1
- package/mini-ngrx/fesm2022/ngx-bootstrap-mini-ngrx.mjs.map +1 -1
- package/mini-ngrx/index.d.ts +34 -1
- package/modal/fesm2022/ngx-bootstrap-modal.mjs +23 -23
- package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -1
- package/modal/index.d.ts +277 -1
- package/package.json +8 -8
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs +14 -14
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -1
- package/pagination/index.d.ts +234 -1
- package/popover/fesm2022/ngx-bootstrap-popover.mjs +14 -14
- package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -1
- package/popover/index.d.ts +152 -1
- package/positioning/fesm2022/ngx-bootstrap-positioning.mjs +6 -5
- package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -1
- package/positioning/index.d.ts +134 -1
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs +14 -14
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -1
- package/progressbar/index.d.ts +72 -1
- package/rating/fesm2022/ngx-bootstrap-rating.mjs +11 -11
- package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -1
- package/rating/index.d.ts +60 -1
- package/schematics/utils/current_dependency_versions.json +1 -1
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs +11 -11
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -1
- package/sortable/index.d.ts +92 -1
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs +55 -22
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -1
- package/tabs/index.d.ts +122 -1
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs +17 -17
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -1
- package/timepicker/index.d.ts +243 -1
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs +14 -14
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -1
- package/tooltip/index.d.ts +154 -1
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +15 -15
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
- package/typeahead/index.d.ts +341 -1
- package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -1
- package/utils/index.d.ts +116 -1
- package/accordion/accordion-group.component.d.ts +0 -36
- package/accordion/accordion.component.d.ts +0 -17
- package/accordion/accordion.config.d.ts +0 -12
- package/accordion/accordion.module.d.ts +0 -10
- package/accordion/public_api.d.ts +0 -4
- package/alert/alert.component.d.ts +0 -33
- package/alert/alert.config.d.ts +0 -11
- package/alert/alert.module.d.ts +0 -9
- package/alert/public_api.d.ts +0 -3
- package/buttons/button-checkbox.directive.d.ts +0 -31
- package/buttons/button-radio-group.directive.d.ts +0 -35
- package/buttons/button-radio.directive.d.ts +0 -51
- package/buttons/buttons.module.d.ts +0 -11
- package/buttons/public_api.d.ts +0 -4
- package/carousel/carousel.component.d.ts +0 -192
- package/carousel/carousel.config.d.ts +0 -13
- package/carousel/carousel.module.d.ts +0 -10
- package/carousel/models/index.d.ts +0 -9
- package/carousel/public_api.d.ts +0 -4
- package/carousel/slide.component.d.ts +0 -22
- package/carousel/utils.d.ts +0 -11
- package/chronos/create/check-overflow.d.ts +0 -2
- package/chronos/create/clone.d.ts +0 -1
- package/chronos/create/date-from-array.d.ts +0 -2
- package/chronos/create/from-anything.d.ts +0 -4
- package/chronos/create/from-array.d.ts +0 -2
- package/chronos/create/from-object.d.ts +0 -2
- package/chronos/create/from-string-and-array.d.ts +0 -2
- package/chronos/create/from-string-and-format.d.ts +0 -4
- package/chronos/create/from-string.d.ts +0 -4
- package/chronos/create/local.d.ts +0 -3
- package/chronos/create/parsing-flags.d.ts +0 -2
- package/chronos/create/parsing.types.d.ts +0 -64
- package/chronos/create/valid.d.ts +0 -6
- package/chronos/duration/bubble.d.ts +0 -4
- package/chronos/duration/constructor.d.ts +0 -21
- package/chronos/duration/create.d.ts +0 -8
- package/chronos/duration/humanize.d.ts +0 -5
- package/chronos/duration/valid.d.ts +0 -2
- package/chronos/format/format.d.ts +0 -11
- package/chronos/format.d.ts +0 -5
- package/chronos/i18n/ar.d.ts +0 -2
- package/chronos/i18n/bg.d.ts +0 -2
- package/chronos/i18n/ca.d.ts +0 -2
- package/chronos/i18n/cs.d.ts +0 -2
- package/chronos/i18n/da.d.ts +0 -2
- package/chronos/i18n/de.d.ts +0 -2
- package/chronos/i18n/en-gb.d.ts +0 -2
- package/chronos/i18n/es-do.d.ts +0 -2
- package/chronos/i18n/es-pr.d.ts +0 -2
- package/chronos/i18n/es-us.d.ts +0 -2
- package/chronos/i18n/es.d.ts +0 -2
- package/chronos/i18n/et.d.ts +0 -2
- package/chronos/i18n/fa.d.ts +0 -2
- package/chronos/i18n/fi.d.ts +0 -2
- package/chronos/i18n/fr-ca.d.ts +0 -2
- package/chronos/i18n/fr.d.ts +0 -2
- package/chronos/i18n/gl.d.ts +0 -2
- package/chronos/i18n/he.d.ts +0 -2
- package/chronos/i18n/hi.d.ts +0 -2
- package/chronos/i18n/hr.d.ts +0 -2
- package/chronos/i18n/hu.d.ts +0 -2
- package/chronos/i18n/id.d.ts +0 -2
- package/chronos/i18n/it.d.ts +0 -2
- package/chronos/i18n/ja.d.ts +0 -2
- package/chronos/i18n/ka.d.ts +0 -2
- package/chronos/i18n/kk.d.ts +0 -2
- package/chronos/i18n/ko.d.ts +0 -2
- package/chronos/i18n/lt.d.ts +0 -2
- package/chronos/i18n/lv.d.ts +0 -2
- package/chronos/i18n/mn.d.ts +0 -2
- package/chronos/i18n/nb.d.ts +0 -2
- package/chronos/i18n/nl-be.d.ts +0 -2
- package/chronos/i18n/nl.d.ts +0 -2
- package/chronos/i18n/pl.d.ts +0 -2
- package/chronos/i18n/pt-br.d.ts +0 -2
- package/chronos/i18n/ro.d.ts +0 -2
- package/chronos/i18n/ru.d.ts +0 -2
- package/chronos/i18n/sk.d.ts +0 -2
- package/chronos/i18n/sl.d.ts +0 -2
- package/chronos/i18n/sq.d.ts +0 -2
- package/chronos/i18n/sv.d.ts +0 -2
- package/chronos/i18n/th-be.d.ts +0 -2
- package/chronos/i18n/th.d.ts +0 -2
- package/chronos/i18n/tr.d.ts +0 -2
- package/chronos/i18n/uk.d.ts +0 -2
- package/chronos/i18n/vi.d.ts +0 -2
- package/chronos/i18n/zh-cn.d.ts +0 -2
- package/chronos/locale/calendar.d.ts +0 -8
- package/chronos/locale/locale.class.d.ts +0 -143
- package/chronos/locale/locale.defaults.d.ts +0 -11
- package/chronos/locale/locales.d.ts +0 -7
- package/chronos/moment/add-subtract.d.ts +0 -5
- package/chronos/moment/calendar.d.ts +0 -15
- package/chronos/moment/diff.d.ts +0 -3
- package/chronos/moment/min-max.d.ts +0 -2
- package/chronos/parse/regex.d.ts +0 -22
- package/chronos/parse/token.d.ts +0 -5
- package/chronos/public_api.d.ts +0 -60
- package/chronos/testing/chain.d.ts +0 -214
- package/chronos/types.d.ts +0 -36
- package/chronos/units/aliases.d.ts +0 -5
- package/chronos/units/constants.d.ts +0 -9
- package/chronos/units/day-of-month.d.ts +0 -1
- package/chronos/units/day-of-week.d.ts +0 -20
- package/chronos/units/day-of-year.d.ts +0 -3
- package/chronos/units/hour.d.ts +0 -1
- package/chronos/units/index.d.ts +0 -18
- package/chronos/units/millisecond.d.ts +0 -1
- package/chronos/units/minute.d.ts +0 -1
- package/chronos/units/month.d.ts +0 -2
- package/chronos/units/offset.d.ts +0 -10
- package/chronos/units/priorities.d.ts +0 -1
- package/chronos/units/quarter.d.ts +0 -3
- package/chronos/units/second.d.ts +0 -1
- package/chronos/units/timestamp.d.ts +0 -1
- package/chronos/units/timezone.d.ts +0 -3
- package/chronos/units/week-calendar-utils.d.ts +0 -9
- package/chronos/units/week-year.d.ts +0 -8
- package/chronos/units/week.d.ts +0 -6
- package/chronos/units/year.d.ts +0 -4
- package/chronos/utils/abs-ceil.d.ts +0 -1
- package/chronos/utils/abs-round.d.ts +0 -1
- package/chronos/utils/compare-arrays.d.ts +0 -1
- package/chronos/utils/date-compare.d.ts +0 -9
- package/chronos/utils/date-getters.d.ts +0 -18
- package/chronos/utils/date-setters.d.ts +0 -12
- package/chronos/utils/defaults.d.ts +0 -1
- package/chronos/utils/start-end-of.d.ts +0 -3
- package/chronos/utils/type-checks.d.ts +0 -12
- package/chronos/utils/zero-fill.d.ts +0 -1
- package/chronos/utils.d.ts +0 -2
- package/collapse/collapse-animations.d.ts +0 -4
- package/collapse/collapse.directive.d.ts +0 -45
- package/collapse/collapse.module.d.ts +0 -9
- package/collapse/public_api.d.ts +0 -2
- package/component-loader/bs-component-ref.class.d.ts +0 -5
- package/component-loader/component-loader.class.d.ts +0 -76
- package/component-loader/component-loader.factory.d.ts +0 -22
- package/component-loader/content-ref.class.d.ts +0 -11
- package/component-loader/listen-options.model.d.ts +0 -11
- package/component-loader/public_api.d.ts +0 -4
- package/datepicker/base/bs-datepicker-container.d.ts +0 -53
- package/datepicker/bs-datepicker-inline.component.d.ts +0 -66
- package/datepicker/bs-datepicker-inline.config.d.ts +0 -6
- package/datepicker/bs-datepicker-input.directive.d.ts +0 -32
- package/datepicker/bs-datepicker.component.d.ts +0 -135
- package/datepicker/bs-datepicker.config.d.ts +0 -166
- package/datepicker/bs-datepicker.module.d.ts +0 -30
- package/datepicker/bs-daterangepicker-inline.component.d.ts +0 -66
- package/datepicker/bs-daterangepicker-inline.config.d.ts +0 -9
- package/datepicker/bs-daterangepicker-input.directive.d.ts +0 -33
- package/datepicker/bs-daterangepicker.component.d.ts +0 -123
- package/datepicker/bs-daterangepicker.config.d.ts +0 -7
- package/datepicker/bs-locale.service.d.ts +0 -13
- package/datepicker/datepicker-animations.d.ts +0 -3
- package/datepicker/engine/calc-days-calendar.d.ts +0 -2
- package/datepicker/engine/flag-days-calendar.d.ts +0 -17
- package/datepicker/engine/flag-months-calendar.d.ts +0 -14
- package/datepicker/engine/flag-years-calendar.d.ts +0 -14
- package/datepicker/engine/format-days-calendar.d.ts +0 -4
- package/datepicker/engine/format-months-calendar.d.ts +0 -2
- package/datepicker/engine/format-years-calendar.d.ts +0 -4
- package/datepicker/engine/view-mode.d.ts +0 -2
- package/datepicker/models/index.d.ts +0 -102
- package/datepicker/public_api.d.ts +0 -17
- package/datepicker/reducer/_defaults.d.ts +0 -3
- package/datepicker/reducer/bs-datepicker.actions.d.ts +0 -48
- package/datepicker/reducer/bs-datepicker.effects.d.ts +0 -41
- package/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
- package/datepicker/reducer/bs-datepicker.state.d.ts +0 -45
- package/datepicker/reducer/bs-datepicker.store.d.ts +0 -8
- package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -5
- package/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -6
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -16
- package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -41
- package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -14
- package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -15
- package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -13
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -46
- package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -15
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -27
- package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -16
- package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -8
- package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -16
- package/datepicker/utils/bs-calendar-utils.d.ts +0 -15
- package/datepicker/utils/copy-time-utils.d.ts +0 -1
- package/datepicker/utils/matrix-utils.d.ts +0 -9
- package/dropdown/bs-dropdown-container.component.d.ts +0 -20
- package/dropdown/bs-dropdown-menu.directive.d.ts +0 -8
- package/dropdown/bs-dropdown-toggle.directive.d.ts +0 -21
- package/dropdown/bs-dropdown.config.d.ts +0 -14
- package/dropdown/bs-dropdown.directive.d.ts +0 -108
- package/dropdown/bs-dropdown.module.d.ts +0 -12
- package/dropdown/bs-dropdown.state.d.ts +0 -23
- package/dropdown/dropdown-animations.d.ts +0 -3
- package/dropdown/public_api.d.ts +0 -7
- package/focus-trap/boolean-property.d.ts +0 -14
- package/focus-trap/focus-trap-manager.d.ts +0 -26
- package/focus-trap/focus-trap.d.ts +0 -162
- package/focus-trap/focus-trap.module.d.ts +0 -10
- package/focus-trap/interactivity-checker.d.ts +0 -60
- package/focus-trap/platform.d.ts +0 -29
- package/focus-trap/public_api.d.ts +0 -3
- package/locale/public_api.d.ts +0 -46
- package/mini-ngrx/public_api.d.ts +0 -7
- package/mini-ngrx/state.class.d.ts +0 -8
- package/mini-ngrx/store.class.d.ts +0 -16
- package/modal/bs-modal-ref.service.d.ts +0 -30
- package/modal/bs-modal.service.d.ts +0 -50
- package/modal/modal-backdrop.component.d.ts +0 -17
- package/modal/modal-backdrop.options.d.ts +0 -4
- package/modal/modal-container.component.d.ts +0 -27
- package/modal/modal-options.class.d.ts +0 -63
- package/modal/modal.directive.d.ts +0 -90
- package/modal/modal.module.d.ts +0 -13
- package/modal/models/index.d.ts +0 -24
- package/modal/public_api.d.ts +0 -9
- package/pagination/models/index.d.ts +0 -53
- package/pagination/pager.component.d.ts +0 -78
- package/pagination/pagination.component.d.ts +0 -91
- package/pagination/pagination.config.d.ts +0 -9
- package/pagination/pagination.module.d.ts +0 -11
- package/pagination/public_api.d.ts +0 -5
- package/popover/popover-container.component.d.ts +0 -16
- package/popover/popover.config.d.ts +0 -30
- package/popover/popover.directive.d.ts +0 -98
- package/popover/popover.module.d.ts +0 -11
- package/popover/public_api.d.ts +0 -4
- package/positioning/models/index.d.ts +0 -96
- package/positioning/modifiers/arrow.d.ts +0 -2
- package/positioning/modifiers/flip.d.ts +0 -2
- package/positioning/modifiers/index.d.ts +0 -5
- package/positioning/modifiers/initData.d.ts +0 -2
- package/positioning/modifiers/preventOverflow.d.ts +0 -2
- package/positioning/modifiers/shift.d.ts +0 -2
- package/positioning/ng-positioning.d.ts +0 -12
- package/positioning/positioning.service.d.ts +0 -48
- package/positioning/public_api.d.ts +0 -4
- package/positioning/utils/checkMargin.d.ts +0 -3
- package/positioning/utils/computeAutoPlacement.d.ts +0 -2
- package/positioning/utils/findCommonOffsetParent.d.ts +0 -1
- package/positioning/utils/getBordersSize.d.ts +0 -4
- package/positioning/utils/getBoundaries.d.ts +0 -5
- package/positioning/utils/getBoundingClientRect.d.ts +0 -2
- package/positioning/utils/getClientRect.d.ts +0 -5
- package/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
- package/positioning/utils/getOffsetParent.d.ts +0 -1
- package/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
- package/positioning/utils/getOffsets.d.ts +0 -2
- package/positioning/utils/getOppositePlacement.d.ts +0 -4
- package/positioning/utils/getOppositeVariation.d.ts +0 -4
- package/positioning/utils/getOuterSizes.d.ts +0 -5
- package/positioning/utils/getParentNode.d.ts +0 -4
- package/positioning/utils/getReferenceOffsets.d.ts +0 -2
- package/positioning/utils/getRoot.d.ts +0 -4
- package/positioning/utils/getScroll.d.ts +0 -4
- package/positioning/utils/getScrollParent.d.ts +0 -1
- package/positioning/utils/getStyleComputedProperty.d.ts +0 -5
- package/positioning/utils/getTargetOffsets.d.ts +0 -2
- package/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
- package/positioning/utils/getWindowSizes.d.ts +0 -4
- package/positioning/utils/index.d.ts +0 -23
- package/positioning/utils/isFixed.d.ts +0 -1
- package/positioning/utils/isModifierEnabled.d.ts +0 -5
- package/positioning/utils/isNumeric.d.ts +0 -5
- package/positioning/utils/isOffsetContainer.d.ts +0 -1
- package/positioning/utils/setStyles.d.ts +0 -5
- package/positioning/utils/updateContainerClass.d.ts +0 -6
- package/progressbar/bar.component.d.ts +0 -24
- package/progressbar/progressbar-type.interface.d.ts +0 -7
- package/progressbar/progressbar.component.d.ts +0 -23
- package/progressbar/progressbar.config.d.ts +0 -9
- package/progressbar/progressbar.module.d.ts +0 -10
- package/progressbar/public_api.d.ts +0 -5
- package/rating/models/index.d.ts +0 -4
- package/rating/public_api.d.ts +0 -3
- package/rating/rating.component.d.ts +0 -40
- package/rating/rating.config.d.ts +0 -8
- package/rating/rating.module.d.ts +0 -9
- package/sortable/draggable-item.d.ts +0 -8
- package/sortable/draggable-item.service.d.ts +0 -13
- package/sortable/public_api.d.ts +0 -4
- package/sortable/sortable.component.d.ts +0 -62
- package/sortable/sortable.module.d.ts +0 -9
- package/tabs/ng-transclude.directive.d.ts +0 -11
- package/tabs/public_api.d.ts +0 -6
- package/tabs/tab-heading.directive.d.ts +0 -10
- package/tabs/tab.directive.d.ts +0 -39
- package/tabs/tabs.module.d.ts +0 -13
- package/tabs/tabset.component.d.ts +0 -44
- package/tabs/tabset.config.d.ts +0 -11
- package/timepicker/models/index.d.ts +0 -7
- package/timepicker/public_api.d.ts +0 -5
- package/timepicker/reducer/timepicker.actions.d.ts +0 -28
- package/timepicker/reducer/timepicker.reducer.d.ts +0 -9
- package/timepicker/reducer/timepicker.store.d.ts +0 -8
- package/timepicker/timepicker-controls.util.d.ts +0 -7
- package/timepicker/timepicker.component.d.ts +0 -116
- package/timepicker/timepicker.config.d.ts +0 -48
- package/timepicker/timepicker.models.d.ts +0 -35
- package/timepicker/timepicker.module.d.ts +0 -9
- package/timepicker/timepicker.utils.d.ts +0 -19
- package/tooltip/public_api.d.ts +0 -4
- package/tooltip/tooltip-container.component.d.ts +0 -18
- package/tooltip/tooltip.config.d.ts +0 -16
- package/tooltip/tooltip.directive.d.ts +0 -113
- package/tooltip/tooltip.module.d.ts +0 -11
- package/typeahead/latin-map.d.ts +0 -3
- package/typeahead/models/index.d.ts +0 -41
- package/typeahead/public_api.d.ts +0 -10
- package/typeahead/typeahead-animations.d.ts +0 -3
- package/typeahead/typeahead-container.component.d.ts +0 -66
- package/typeahead/typeahead-match.class.d.ts +0 -8
- package/typeahead/typeahead-options.class.d.ts +0 -7
- package/typeahead/typeahead-order.class.d.ts +0 -6
- package/typeahead/typeahead-utils.d.ts +0 -4
- package/typeahead/typeahead.config.d.ts +0 -26
- package/typeahead/typeahead.directive.d.ts +0 -176
- package/typeahead/typeahead.module.d.ts +0 -11
- package/utils/decorators.d.ts +0 -1
- package/utils/facade/browser.d.ts +0 -23
- package/utils/linked-list.class.d.ts +0 -35
- package/utils/public_api.d.ts +0 -9
- package/utils/theme-provider.d.ts +0 -18
- package/utils/trigger.class.d.ts +0 -10
- package/utils/triggers.d.ts +0 -22
- package/utils/utils.class.d.ts +0 -9
- package/utils/warn-once.d.ts +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-chronos.mjs","sources":["../../../../src/chronos/utils.ts","../../../../src/chronos/utils/type-checks.ts","../../../../src/chronos/units/aliases.ts","../../../../src/chronos/units/constants.ts","../../../../src/chronos/utils/zero-fill.ts","../../../../src/chronos/format/format.ts","../../../../src/chronos/create/date-from-array.ts","../../../../src/chronos/utils/date-getters.ts","../../../../src/chronos/parse/regex.ts","../../../../src/chronos/parse/token.ts","../../../../src/chronos/units/priorities.ts","../../../../src/chronos/units/day-of-month.ts","../../../../src/chronos/create/parsing-flags.ts","../../../../src/chronos/units/year.ts","../../../../src/chronos/units/month.ts","../../../../src/chronos/utils/date-setters.ts","../../../../src/chronos/create/clone.ts","../../../../src/chronos/utils/start-end-of.ts","../../../../src/chronos/units/day-of-year.ts","../../../../src/chronos/units/week-calendar-utils.ts","../../../../src/chronos/locale/locale.class.ts","../../../../src/chronos/locale/calendar.ts","../../../../src/chronos/locale/locale.defaults.ts","../../../../src/chronos/utils/compare-arrays.ts","../../../../src/chronos/units/week.ts","../../../../src/chronos/units/week-year.ts","../../../../src/chronos/units/timezone.ts","../../../../src/chronos/units/timestamp.ts","../../../../src/chronos/units/second.ts","../../../../src/chronos/units/quarter.ts","../../../../src/chronos/units/offset.ts","../../../../src/chronos/units/minute.ts","../../../../src/chronos/units/millisecond.ts","../../../../src/chronos/units/hour.ts","../../../../src/chronos/locale/locales.ts","../../../../src/chronos/duration/valid.ts","../../../../src/chronos/utils/abs-ceil.ts","../../../../src/chronos/duration/bubble.ts","../../../../src/chronos/duration/humanize.ts","../../../../src/chronos/duration/constructor.ts","../../../../src/chronos/create/valid.ts","../../../../src/chronos/create/from-string.ts","../../../../src/chronos/format.ts","../../../../src/chronos/utils/defaults.ts","../../../../src/chronos/create/from-array.ts","../../../../src/chronos/create/check-overflow.ts","../../../../src/chronos/create/from-string-and-format.ts","../../../../src/chronos/create/from-string-and-array.ts","../../../../src/chronos/create/from-object.ts","../../../../src/chronos/create/from-anything.ts","../../../../src/chronos/create/local.ts","../../../../src/chronos/utils/abs-round.ts","../../../../src/chronos/utils/date-compare.ts","../../../../src/chronos/duration/create.ts","../../../../src/chronos/moment/add-subtract.ts","../../../../src/chronos/units/day-of-week.ts","../../../../src/chronos/i18n/ar.ts","../../../../src/chronos/i18n/bg.ts","../../../../src/chronos/i18n/ca.ts","../../../../src/chronos/i18n/cs.ts","../../../../src/chronos/i18n/da.ts","../../../../src/chronos/i18n/de.ts","../../../../src/chronos/i18n/en-gb.ts","../../../../src/chronos/i18n/es-do.ts","../../../../src/chronos/i18n/es.ts","../../../../src/chronos/i18n/es-pr.ts","../../../../src/chronos/i18n/es-us.ts","../../../../src/chronos/i18n/et.ts","../../../../src/chronos/i18n/fi.ts","../../../../src/chronos/i18n/fr.ts","../../../../src/chronos/i18n/fr-ca.ts","../../../../src/chronos/i18n/gl.ts","../../../../src/chronos/i18n/he.ts","../../../../src/chronos/i18n/hi.ts","../../../../src/chronos/i18n/hu.ts","../../../../src/chronos/i18n/hr.ts","../../../../src/chronos/i18n/id.ts","../../../../src/chronos/i18n/it.ts","../../../../src/chronos/i18n/ja.ts","../../../../src/chronos/i18n/ka.ts","../../../../src/chronos/i18n/kk.ts","../../../../src/chronos/i18n/ko.ts","../../../../src/chronos/i18n/lt.ts","../../../../src/chronos/i18n/lv.ts","../../../../src/chronos/i18n/mn.ts","../../../../src/chronos/i18n/nb.ts","../../../../src/chronos/i18n/nl-be.ts","../../../../src/chronos/i18n/nl.ts","../../../../src/chronos/i18n/pl.ts","../../../../src/chronos/i18n/pt-br.ts","../../../../src/chronos/i18n/ro.ts","../../../../src/chronos/i18n/ru.ts","../../../../src/chronos/i18n/sk.ts","../../../../src/chronos/i18n/sl.ts","../../../../src/chronos/i18n/sq.ts","../../../../src/chronos/i18n/sv.ts","../../../../src/chronos/i18n/th.ts","../../../../src/chronos/i18n/th-be.ts","../../../../src/chronos/i18n/tr.ts","../../../../src/chronos/i18n/uk.ts","../../../../src/chronos/i18n/vi.ts","../../../../src/chronos/i18n/zh-cn.ts","../../../../src/chronos/i18n/fa.ts","../../../../src/chronos/ngx-bootstrap-chronos.ts"],"sourcesContent":["\n\nexport function mod(n: number, x: number): number {\n return (n % x + x) % x;\n}\n\nexport function absFloor(num: number): number {\n return num < 0 ? Math.ceil(num) || 0 : Math.floor(num);\n}\n\n","import { absFloor } from '../utils';\n\nexport function isString(str: any): str is string {\n return typeof str === 'string';\n}\n\nexport function isDate(value: any): value is Date {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\n\nexport function isBoolean(value: any): value is boolean {\n return value === true || value === false;\n}\n\nexport function isDateValid(date: Date): boolean {\n return date && date.getTime && !isNaN(date.getTime());\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isFunction(fn: any): fn is Function {\n return (\n fn instanceof Function ||\n Object.prototype.toString.call(fn) === '[object Function]'\n );\n}\n\nexport function isNumber(value?: any): value is number {\n return typeof value === 'number' || Object.prototype.toString.call(value) === '[object Number]';\n}\n\nexport function isArray<T>(input?: any): input is T[] {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n}\n\nexport function hasOwnProp<T>(a: T /*object*/, b: string): b is Extract<keyof T, string> {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nexport function isObject<T>(input: any /*object*/): input is T {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null && Object.prototype.toString.call(input) === '[object Object]'\n );\n}\n\nexport function isObjectEmpty(obj: any): boolean {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n }\n let k;\n for (k in obj) {\n // eslint-disable-next-line no-prototype-builtins\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n\n return true;\n}\n\n\nexport function isUndefined(input: any): boolean {\n return input === void 0;\n}\n\nexport function toInt<T>(argumentForCoercion: string | number | T): number {\n const coercedNumber = +argumentForCoercion;\n let value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n}\n","import { hasOwnProp, isString } from '../utils/type-checks';\nimport { DateObject, UnitOfTime } from '../types';\n\nconst aliases: { [key: string]: string } = {};\n\nexport type ExtendedUnitOfTime = UnitOfTime | 'date' | 'week' | 'isoWeek' | 'dayOfYear' |\n 'weekday' | 'isoWeekday' | 'second' | 'millisecond' | 'minute' | 'hour' | 'quarter' | 'weekYear' | 'isoWeekYear';\n\nconst _mapUnits: { [key: string]: UnitOfTime } = {\n date: 'day',\n hour: 'hours',\n minute: 'minutes',\n second: 'seconds',\n millisecond: 'milliseconds'\n};\n\nexport function addUnitAlias(unit: ExtendedUnitOfTime, shorthand: string): void {\n const lowerCase = unit.toLowerCase();\n let _unit = unit;\n if (lowerCase in _mapUnits) {\n _unit = _mapUnits[lowerCase];\n }\n aliases[lowerCase] = aliases[`${lowerCase}s`] = aliases[shorthand] = _unit;\n}\n\nexport function normalizeUnits(units: string | string[]): string {\n return isString(units) ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\n\nexport function normalizeObjectUnits(inputObject: Record<string, unknown>): DateObject {\n const normalizedInput: Record<string, unknown> = {};\n let normalizedProp;\n let 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","// place in new Date([array])\nexport const YEAR = 0;\nexport const MONTH = 1;\nexport const DATE = 2;\nexport const HOUR = 3;\nexport const MINUTE = 4;\nexport const SECOND = 5;\nexport const MILLISECOND = 6;\nexport const WEEK = 7;\nexport const WEEKDAY = 8;\n","export function zeroFill(num: number,\n targetLength: number,\n forceSign?: boolean): string {\n const absNumber = `${Math.abs(num)}`;\n const zerosToFill = targetLength - absNumber.length;\n const sign = num >= 0;\n const _sign = sign ? (forceSign ? '+' : '') : '-';\n // todo: this is crazy slow\n const _zeros = Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1);\n\n return (_sign + _zeros + absNumber);\n}\n","import { Locale } from '../locale/locale.class';\nimport { zeroFill } from '../utils/zero-fill';\nimport { isFunction } from '../utils/type-checks';\nimport { DateFormatterOptions, DateFormatterFn } from '../types';\n\nexport const formatFunctions: {\n [key: string]: (date: Date, locale: Locale, isUTC?: boolean, offset?: number) => string;\n} = {};\nexport const formatTokenFunctions: { [key: string]: DateFormatterFn } = {};\n\nexport const 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// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nexport function addFormatToken(token: string,\n padded: [string, number, boolean],\n ordinal: string,\n callback: DateFormatterFn): void {\n\n if (token) {\n formatTokenFunctions[token] = callback;\n }\n\n if (padded) {\n formatTokenFunctions[padded[0]] = function (): string {\n return zeroFill(callback.apply(null, arguments), padded[1], padded[2]);\n };\n }\n\n if (ordinal) {\n formatTokenFunctions[ordinal] = function (date: Date, opts: DateFormatterOptions): string {\n return opts.locale.ordinal(callback.apply(null, arguments), token);\n };\n }\n}\n\nexport function makeFormatFunction(format: string):\n (date: Date, locale: Locale, isUTC?: boolean, offset?: number) => string {\n\n const array: string[] = format.match(formattingTokens);\n const length = array.length;\n\n const formatArr: string[] | DateFormatterFn[] = new Array(length);\n\n for (let i = 0; i < length; i++) {\n formatArr[i] = formatTokenFunctions[array[i]]\n ? formatTokenFunctions[array[i]]\n : removeFormattingTokens(array[i]);\n }\n\n return function (date: Date, locale: Locale, isUTC: boolean, offset = 0): string {\n\n let output = '';\n for (let j = 0; j < length; j++) {\n output += isFunction(formatArr[j])\n ? (formatArr[j] as DateFormatterFn).call(null, date, {format, locale, isUTC, offset})\n : formatArr[j];\n }\n\n return output;\n };\n}\n\nfunction removeFormattingTokens(input: string): string {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n\n return input.replace(/\\\\/g, '');\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function createUTCDate(y?: number, m?: number, d?: number): Date {\n // eslint-disable-next-line prefer-rest-params\n const date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n\n return date;\n}\n\nexport function createDate(y?: number,\n m = 0,\n d = 1,\n h = 0,\n M = 0,\n s = 0,\n ms = 0): Date {\n const date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n\n return date;\n}\n","import { createDate } from '../create/date-from-array';\n\nexport function getHours(date: Date, isUTC = false): number {\n return isUTC ? date.getUTCHours() : date.getHours();\n}\n\nexport function getMinutes(date: Date, isUTC = false): number {\n return isUTC ? date.getUTCMinutes() : date.getMinutes();\n}\n\nexport function getSeconds(date: Date, isUTC = false): number {\n return isUTC ? date.getUTCSeconds() : date.getSeconds();\n}\n\nexport function getMilliseconds(date: Date, isUTC = false): number {\n return isUTC ? date.getUTCMilliseconds() : date.getMilliseconds();\n}\nexport function getTime(date: Date): number {\n return date.getTime();\n}\n\nexport function getDay(date: Date, isUTC = false): number {\n return isUTC ? date.getUTCDay() : date.getDay();\n}\n\nexport function getDate(date: Date, isUTC = false): number {\n return isUTC ? date.getUTCDate() : date.getDate();\n}\n\nexport function getMonth(date: Date, isUTC = false): number {\n return isUTC ? date.getUTCMonth() : date.getMonth();\n}\n\nexport function getFullYear(date: Date, isUTC = false): number {\n return isUTC ? date.getUTCFullYear() : date.getFullYear();\n}\n\nexport function getUnixTime(date: Date): number {\n return Math.floor(date.valueOf() / 1000);\n}\n\nexport function unix(date: Date): number {\n return Math.floor(date.valueOf() / 1000);\n}\n\nexport function getFirstDayOfMonth(date: Date): Date {\n return createDate(\n date.getFullYear(),\n date.getMonth(),\n 1,\n date.getHours(),\n date.getMinutes(),\n date.getSeconds()\n );\n}\n\nexport function daysInMonth(date: Date): number {\n return _daysInMonth(date.getFullYear(), date.getMonth());\n}\n\nexport function _daysInMonth(year: number, month: number): number {\n return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();\n}\n\nexport function isFirstDayOfWeek(date: Date, firstDayOfWeek?: number): boolean {\n return date.getDay() === Number(firstDayOfWeek);\n}\n\nexport function isSameMonth(date1?: Date, date2?: Date) {\n if (!date1 || !date2) {\n return false;\n }\n\n return isSameYear(date1, date2) && getMonth(date1) === getMonth(date2);\n}\n\nexport function isSameYear(date1?: Date, date2?: Date) {\n if (!date1 || !date2) {\n return false;\n }\n\n return getFullYear(date1) === getFullYear(date2);\n}\n\nexport function isSameDay(date1?: Date, date2?: Date): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n return (\n isSameYear(date1, date2) &&\n isSameMonth(date1, date2) &&\n getDate(date1) === getDate(date2)\n );\n}\n","import { hasOwnProp, isFunction } from '../utils/type-checks';\nimport { Locale } from '../locale/locale.class';\n\nexport const match1 = /\\d/; // 0 - 9\nexport const match2 = /\\d\\d/; // 00 - 99\nexport const match3 = /\\d{3}/; // 000 - 999\nexport const match4 = /\\d{4}/; // 0000 - 9999\nexport const match6 = /[+-]?\\d{6}/; // -999999 - 999999\nexport const match1to2 = /\\d\\d?/; // 0 - 99\nexport const match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\nexport const match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\nexport const match1to3 = /\\d{1,3}/; // 0 - 999\nexport const match1to4 = /\\d{1,4}/; // 0 - 9999\nexport const match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\nexport const matchUnsigned = /\\d+/; // 0 - inf\nexport const matchSigned = /[+-]?\\d+/; // -inf - inf\n\nexport const matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nexport const matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\nexport const 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\nexport const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\nexport type RegExpTokenFn = (isStrict: boolean, locale: Locale) => RegExp;\nconst regexes: {[key: string]: RegExpTokenFn} = {};\n\n\nexport function addRegexToken(token: string, regex: RegExp | RegExpTokenFn, strictRegex?: RegExp): void {\n if (isFunction(regex)) {\n regexes[token] = regex;\n\n return;\n }\n\n regexes[token] = function (isStrict: boolean, locale: Locale) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n}\n\nexport function getParseRegexForToken(token: string, locale: Locale): RegExp {\n const _strict = false;\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](_strict, locale);\n}\n\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(str: string): string {\n return regexEscape(str\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, (matched, p1, p2, p3, p4) => p1 || p2 || p3 || p4)\n );\n}\n\nexport function regexEscape(str: string): string {\n return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n","import { hasOwnProp, isArray, isFunction, isNumber, isString, toInt } from '../utils/type-checks';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { DateArray, DateParseTokenFn } from '../types';\n\nconst tokens: {[key: string]: DateParseTokenFn} = {};\n\nexport function addParseToken(token: string | string[], callback: DateParseTokenFn | number) {\n const _token = isString(token) ? [token] : token;\n let func = callback;\n\n if (isNumber(callback)) {\n func = function (input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n array[callback] = toInt(input);\n\n return config;\n };\n }\n\n if (isArray<string>(_token) && isFunction(func)) {\n let i;\n for (i = 0; i < _token.length; i++) {\n tokens[_token[i]] = func;\n }\n }\n}\n\nexport function addWeekParseToken(token: string[], callback: DateParseTokenFn): void {\n addParseToken(token, function (input: string, array: DateArray, config: DateParsingConfig, _token: string): DateParsingConfig {\n config._w = config._w || {};\n\n return callback(input, config._w, config, _token);\n });\n}\n\n\nexport function addTimeToArrayFromToken(token: string, input: string, config: DateParsingConfig): DateParsingConfig {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n\n return config;\n}\n","const priorities: {[key: string]: number} = {};\n\nexport function addUnitPriority(unit: string, priority: number): void {\n priorities[unit] = priority;\n}\n\n/*\nexport function getPrioritizedUnits(unitsObj) {\n const units = [];\n let unit;\n for (unit in unitsObj) {\n if (unitsObj.hasOwnProperty(unit)) {\n units.push({ unit, priority: priorities[unit] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n\n return units;\n}\n*/\n","import { addFormatToken } from '../format/format';\nimport { getDate } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { DATE } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { DateArray, DateFormatterOptions } from '../types';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { DateParsingConfig } from '../create/parsing.types';\n\n\nexport function initDayOfMonth() {\n// FORMATTING\n\n addFormatToken('D', ['DD', 2, false], 'Do',\n function(date: Date, opts: DateFormatterOptions): string {\n return getDate(date, opts.isUTC)\n .toString(10);\n }\n );\n\n// ALIASES\n\n addUnitAlias('date', 'D');\n\n// PRIOROITY\n addUnitPriority('date', 9);\n\n// PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function(isStrict, locale) {\n return locale._dayOfMonthOrdinalParse || locale._ordinalParse;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken(\n 'Do',\n function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n array[DATE] = toInt(input.match(match1to2)[0]);\n\n return config;\n }\n );\n}\n","import { DateParsingConfig, DateParsingFlags } from './parsing.types';\n\nfunction defaultParsingFlags(): DateParsingFlags {\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\nexport function getParsingFlags(config: DateParsingConfig): DateParsingFlags {\n if (config._pf == null) {\n config._pf = defaultParsingFlags();\n }\n\n return config._pf;\n}\n","import { addFormatToken } from '../format/format';\nimport { getFullYear } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { YEAR } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nimport { DateFormatterOptions } from '../types';\n\n// FORMATTING\n\nfunction getYear(date: Date, opts: DateFormatterOptions): string {\n if (opts.locale.getFullYear) {\n return opts.locale.getFullYear(date, opts.isUTC).toString();\n }\n return getFullYear(date, opts.isUTC).toString();\n}\n\nexport function initYear() {\n addFormatToken('Y', null, null,\n function (date: Date, opts: DateFormatterOptions): string {\n const y = getFullYear(date, opts.isUTC);\n\n return y <= 9999 ? y.toString(10) : `+${y}`;\n });\n\n addFormatToken(null, ['YY', 2, false], null,\n function (date: Date, opts: DateFormatterOptions): string {\n return (getFullYear(date, opts.isUTC) % 100).toString(10);\n });\n\n addFormatToken(null, ['YYYY', 4, false], null, getYear);\n addFormatToken(null, ['YYYYY', 5, false], null, getYear);\n addFormatToken(null, ['YYYYYY', 6, true], null, getYear);\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, config) {\n array[YEAR] = input.length === 2 ? parseTwoDigitYear(input) : toInt(input);\n\n return config;\n });\n addParseToken('YY', function (input, array, config) {\n array[YEAR] = parseTwoDigitYear(input);\n\n return config;\n });\n addParseToken('Y', function (input, array, config) {\n array[YEAR] = parseInt(input, 10);\n\n return config;\n });\n}\n\nexport function parseTwoDigitYear(input: string): number {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n}\n\nexport function daysInYear(year: number): number {\n return isLeapYear(year) ? 366 : 365;\n}\n\nexport function isLeapYear(year: number): boolean {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n","import { addFormatToken } from '../format/format';\nimport { isLeapYear } from './year';\nimport { mod } from '../utils';\nimport { getMonth } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { MONTH } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nimport { getParsingFlags } from '../create/parsing-flags';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { DateArray, DateFormatterOptions } from '../types';\n\n// todo: this is duplicate, source in date-getters.ts\nexport function daysInMonth(year: number, month: number): number {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n const modMonth = mod(month, 12);\n const _year = year + (month - modMonth) / 12;\n\n return modMonth === 1\n ? isLeapYear(_year) ? 29 : 28\n : (31 - modMonth % 7 % 2);\n}\n\nexport function initMonth() {\n// FORMATTING\n\n addFormatToken('M', ['MM', 2, false], 'Mo',\n function(date: Date, opts: DateFormatterOptions): string {\n return (getMonth(date, opts.isUTC) + 1).toString(10);\n }\n );\n\n addFormatToken('MMM', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return opts.locale.monthsShort(date, opts.format, opts.isUTC);\n }\n );\n\n addFormatToken('MMMM', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return opts.locale.months(date, opts.format, opts.isUTC);\n }\n );\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: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n array[MONTH] = toInt(input) - 1;\n\n return config;\n });\n\n addParseToken(\n ['MMM', 'MMMM'],\n function(input: string, array: DateArray, config: DateParsingConfig, token: string): DateParsingConfig {\n const 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 return config;\n }\n );\n}\n","import { TimeUnit } from '../types';\nimport { daysInMonth } from '../units/month';\nimport { isNumber } from './type-checks';\nimport { getDate, getFullYear, getMonth } from './date-getters';\nimport { isLeapYear } from '../units/year';\nimport { createDate } from '../create/date-from-array';\n\nconst defaultTimeUnit: TimeUnit = {\n year: 0,\n month: 0,\n day: 0,\n hour: 0,\n minute: 0,\n seconds: 0\n};\n\nexport function shiftDate(date: Date, unit: TimeUnit): Date {\n const _unit = Object.assign({}, defaultTimeUnit, unit);\n const year = date.getFullYear() + (_unit.year || 0);\n const month = date.getMonth() + (_unit.month || 0);\n let day = date.getDate() + (_unit.day || 0);\n if (_unit.month && !_unit.day) {\n day = Math.min(day, daysInMonth(year, month));\n }\n\n return createDate(\n year,\n month,\n day,\n date.getHours() + (_unit.hour || 0),\n date.getMinutes() + (_unit.minute || 0),\n date.getSeconds() + (_unit.seconds || 0)\n );\n}\n\nexport function setFullDate(date: Date, unit: TimeUnit): Date {\n return createDate(\n getNum(date.getFullYear(), unit.year),\n getNum(date.getMonth(), unit.month),\n 1, // day, to avoid issue with wrong months selection at the end of current month (#5371)\n getNum(date.getHours(), unit.hour),\n getNum(date.getMinutes(), unit.minute),\n getNum(date.getSeconds(), unit.seconds),\n getNum(date.getMilliseconds(), unit.milliseconds)\n );\n}\n\nfunction getNum(def: number, num?: number): number {\n return isNumber(num) ? num : def;\n}\n\nexport function setFullYear(date: Date, value: number, isUTC?: boolean): Date {\n const _month = getMonth(date, isUTC);\n const _date = getDate(date, isUTC);\n const _year = getFullYear(date, isUTC);\n if (isLeapYear(_year) && _month === 1 && _date === 29) {\n const _daysInMonth = daysInMonth(value, _month);\n isUTC ? date.setUTCFullYear(value, _month, _daysInMonth) : date.setFullYear(value, _month, _daysInMonth);\n }\n\n isUTC ? date.setUTCFullYear(value) : date.setFullYear(value);\n\n return date;\n}\n\nexport function setMonth(date: Date, value: number, isUTC?: boolean): Date {\n const dayOfMonth = Math.min(getDate(date), daysInMonth(getFullYear(date), value));\n isUTC ? date.setUTCMonth(value, dayOfMonth) : date.setMonth(value, dayOfMonth);\n\n return date;\n}\n\nexport function setDay(date: Date, value: number, isUTC?: boolean): Date {\n isUTC ? date.setUTCDate(value) : date.setDate(value);\n\n return date;\n}\n\nexport function setHours(date: Date, value: number, isUTC?: boolean): Date {\n isUTC ? date.setUTCHours(value) : date.setHours(value);\n\n return date;\n}\n\nexport function setMinutes(date: Date, value: number, isUTC?: boolean): Date {\n isUTC ? date.setUTCMinutes(value) : date.setMinutes(value);\n\n return date;\n}\n\nexport function setSeconds(date: Date, value: number, isUTC?: boolean): Date {\n isUTC ? date.setUTCSeconds(value) : date.setSeconds(value);\n\n return date;\n}\n\nexport function setMilliseconds(date: Date, value: number, isUTC?: boolean): Date {\n isUTC ? date.setUTCMilliseconds(value) : date.setMilliseconds(value);\n\n return date;\n}\n\nexport function setDate(date: Date, value: number, isUTC?: boolean): Date {\n isUTC ? date.setUTCDate(value) : date.setDate(value);\n\n return date;\n}\n\nexport function setTime(date: Date, value: number): Date {\n date.setTime(value);\n\n return date;\n}\n","// fastest way to clone date\n// https://jsperf.com/clone-date-object2\nexport function cloneDate(date: Date): Date {\n return new Date(date.getTime());\n}\n","import { TimeUnit, UnitOfTime } from '../types';\nimport {\n setDate, setFullDate, setHours, setMilliseconds, setMinutes, setMonth, setSeconds,\n shiftDate\n} from './date-setters';\nimport { cloneDate } from '../create/clone';\nimport { setISODayOfWeek, setLocaleDayOfWeek } from '../units/day-of-week';\nimport { getMonth } from './date-getters';\nimport { add, subtract } from '../moment/add-subtract';\n\nexport function startOf(date: Date, unit: UnitOfTime, isUTC?: boolean): Date {\n const _date = cloneDate(date);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (unit) {\n case 'year':\n setMonth(_date, 0, isUTC);\n /* falls through */\n case 'quarter':\n case 'month':\n setDate(_date, 1, isUTC);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n setHours(_date, 0, isUTC);\n /* falls through */\n case 'hours':\n setMinutes(_date, 0, isUTC);\n /* falls through */\n case 'minutes':\n setSeconds(_date, 0, isUTC);\n /* falls through */\n case 'seconds':\n setMilliseconds(_date, 0, isUTC);\n }\n\n // weeks are a special case\n if (unit === 'week') {\n setLocaleDayOfWeek(_date, 0, {isUTC});\n }\n if (unit === 'isoWeek') {\n setISODayOfWeek(_date, 1);\n }\n\n // quarters are also special\n if (unit === 'quarter') {\n setMonth(_date, Math.floor(getMonth(_date, isUTC) / 3) * 3, isUTC);\n }\n\n return _date;\n}\n\nexport function endOf(date: Date, unit: UnitOfTime, isUTC?: boolean): Date {\n let _unit = unit;\n // 'date' is an alias for 'day', so it should be considered as such.\n if (_unit === 'date') {\n _unit = 'day';\n }\n\n const start = startOf(date, _unit, isUTC);\n const _step = add(start, 1, _unit === 'isoWeek' ? 'week' : _unit, isUTC);\n const res = subtract(_step, 1, 'milliseconds', isUTC);\n\n return res;\n}\n","import { addFormatToken } from '../format/format';\nimport { startOf } from '../utils/start-end-of';\nimport { addRegexToken, match1to3, match3 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nimport { DateArray, DateFormatterOptions } from '../types';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { toInt } from '../utils/type-checks';\nimport { add } from '../moment/add-subtract';\n\n\nexport function initDayOfYear() {\n// FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3, false], 'DDDo',\n function(date: Date): string {\n return getDayOfYear(date)\n .toString(10);\n }\n );\n\n\n// ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\n\n addUnitPriority('dayOfYear', 4);\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(\n ['DDD', 'DDDD'],\n function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n config._dayOfYear = toInt(input);\n\n return config;\n }\n );\n}\n\nexport function getDayOfYear(date: Date, isUTC?: boolean): number {\n const date1 = +startOf(date, 'day', isUTC);\n const date2 = +startOf(date, 'year', isUTC);\n const someDate = date1 - date2;\n const oneDay = 1000 * 60 * 60 * 24;\n\n return Math.round(someDate / oneDay) + 1;\n}\n\nexport function setDayOfYear(date: Date, input: number): Date {\n const dayOfYear = getDayOfYear(date);\n\n return add(date, (input - dayOfYear), 'day');\n}\n","/**\n *\n * @param {number} year\n * @param {number} dow - start-of-first-week\n * @param {number} doy - start-of-year\n * @returns {number}\n */\nimport { createUTCDate } from '../create/date-from-array';\nimport { daysInYear } from './year';\nimport { getDayOfYear } from './day-of-year';\nimport { getFullYear } from '../utils/date-getters';\n\nfunction firstWeekOffset(year: number, dow: number, doy: number): number {\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n const fwd = dow - doy + 7;\n // first-week day local weekday -- which local weekday is fwd\n const fwdlw = (createUTCDate(year, 0, fwd).getUTCDay() - dow + 7) % 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\nexport function dayOfYearFromWeeks(\n year: number,\n week: number,\n weekday: number,\n dow: number,\n doy: number\n): { year: number; dayOfYear: number } {\n const localWeekday = (7 + weekday - dow) % 7;\n const weekOffset = firstWeekOffset(year, dow, doy);\n const dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset;\n let resYear: number;\n let resDayOfYear: number;\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\nexport function weekOfYear(date: Date, dow: number, doy: number, isUTC?: boolean): { week: number; year: number } {\n const weekOffset = firstWeekOffset(getFullYear(date, isUTC), dow, doy);\n const week = Math.floor((getDayOfYear(date, isUTC) - weekOffset - 1) / 7) + 1;\n let resWeek: number;\n let resYear: number;\n\n if (week < 1) {\n resYear = getFullYear(date, isUTC) - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(getFullYear(date, isUTC), dow, doy)) {\n resWeek = week - weeksInYear(getFullYear(date, isUTC), dow, doy);\n resYear = getFullYear(date, isUTC) + 1;\n } else {\n resYear = getFullYear(date, isUTC);\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n}\n\nexport function weeksInYear(year: number, dow: number, doy: number): number {\n const weekOffset = firstWeekOffset(year, dow, doy);\n const weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n","import { weekOfYear } from '../units/week-calendar-utils';\nimport { hasOwnProp, isArray, isFunction } from '../utils/type-checks';\nimport { getDay, getMonth, getFullYear } from '../utils/date-getters';\nimport { matchWord, regexEscape } from '../parse/regex';\nimport { setDayOfWeek } from '../units/day-of-week';\n\nexport interface LocaleOptionsFormat {\n format: string[];\n standalone: string[];\n isFormat?: RegExp;\n}\n\nexport type LocaleOptions = string[] | LocaleOptionsFormat;\n\nconst MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nexport const defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n);\nexport const defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n);\nexport const defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n);\nexport const defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split(\n '_'\n);\nexport const defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nexport const defaultLongDateFormat: { [index: string]: string } = {\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\nexport const defaultOrdinal = '%d';\nexport const defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nconst defaultMonthsShortRegex = matchWord;\nconst defaultMonthsRegex = matchWord;\n\nexport type OrdinalDateFn = (num: number, token?: string) => string;\nexport type PluralizeDateFn = (num: number, withoutSuffix: boolean,\n key?: string, isFuture?: boolean) => string;\n\nexport interface LocaleData {\n abbr?: string;\n parentLocale?: string;\n\n months?: LocaleOptions | ((date: Date, format: string, isUTC?: boolean) => string | string[]);\n monthsShort?: LocaleOptions | ((date: Date, format: string, isUTC?: boolean) => string | string[]);\n monthsParseExact?: boolean;\n\n weekdays?: LocaleOptions | ((date: Date, format: string, isUTC?: boolean) => string | string[]);\n weekdaysShort?: string[] | ((date: Date, format: string, isUTC?: boolean) => string | string[]);\n weekdaysMin?: string[] | ((date: Date, format: string, isUTC?: boolean) => string | string[]);\n weekdaysParseExact?: boolean;\n\n longDateFormat?: { [index: string]: string };\n calendar?: {\n [key: string]: (string\n | ((date: Date, now?: Date) => string)\n | ((dayOfWeek: number, isNextWeek: boolean) => string))\n };\n relativeTime?: { [key: string]: string | PluralizeDateFn };\n dayOfMonthOrdinalParse?: RegExp;\n ordinal?: string | OrdinalDateFn;\n\n week?: { dow?: number; doy?: number };\n\n invalidDate?: string;\n\n monthsRegex?: RegExp;\n monthsParse?: RegExp[];\n monthsShortRegex?: RegExp;\n monthsStrictRegex?: RegExp;\n monthsShortStrictRegex?: RegExp;\n longMonthsParse?: RegExp[];\n shortMonthsParse?: RegExp[];\n\n meridiemParse?: RegExp;\n\n meridiemHour?(hour: number, meridiem: string): number;\n\n preparse?(str: string, format?: string | string[]): string;\n\n postformat?(str: string | number): string;\n\n meridiem?(hour: number, minute?: number, isLower?: boolean): string;\n\n isPM?(input: string): boolean;\n\n getFullYear?(date: Date, isUTC: boolean): number;\n}\n\nexport class Locale {\n parentLocale?: Locale;\n _abbr: string;\n _config: LocaleData;\n meridiemHour: (hour: number, meridiem: string) => number;\n\n _invalidDate: string;\n _week: { dow: number; doy: number };\n _dayOfMonthOrdinalParse: RegExp;\n _ordinalParse: RegExp;\n _meridiemParse: RegExp;\n\n private _calendar: { [key: string]: string };\n private _relativeTime: { future: string; past: string };\n private _months: LocaleOptions;\n private _monthsShort: LocaleOptions;\n private _monthsRegex: RegExp;\n private _monthsShortRegex: RegExp;\n private _monthsStrictRegex: RegExp;\n private _monthsShortStrictRegex: RegExp;\n private _monthsParse: RegExp[];\n private _longMonthsParse: string[] | RegExp[];\n private _shortMonthsParse: string[] | RegExp[];\n private _monthsParseExact: RegExp;\n private _weekdaysParseExact: boolean;\n private _weekdaysRegex: RegExp;\n private _weekdaysShortRegex: RegExp;\n private _weekdaysMinRegex: RegExp;\n\n private _weekdaysStrictRegex: RegExp;\n private _weekdaysShortStrictRegex: RegExp;\n private _weekdaysMinStrictRegex: RegExp;\n\n private _weekdays: LocaleOptions;\n private _weekdaysShort: string[];\n private _weekdaysMin: string[];\n private _weekdaysParse: string[] | RegExp[];\n private _minWeekdaysParse: string[] | RegExp[];\n private _shortWeekdaysParse: string[] | RegExp[];\n private _fullWeekdaysParse: RegExp[];\n private _longDateFormat: { [key: string]: string };\n\n private _ordinal: string;\n\n constructor(config: LocaleData) {\n if (config) {\n this.set(config);\n }\n }\n\n set(config: LocaleData): void {\n let confKey;\n for (confKey in config) {\n // eslint-disable-next-line no-prototype-builtins\n if (!config.hasOwnProperty(confKey)) {\n continue;\n }\n const prop = config[confKey as keyof LocaleData];\n const key = (isFunction(prop) ? confKey : `_${confKey}`) as keyof Locale;\n\n this[key] = prop as any;\n }\n\n this._config = config;\n }\n\n calendar(key: string, date: Date, now: Date): string {\n const output = this._calendar[key] || this._calendar[\"sameElse\"];\n\n return isFunction(output) ? output.call(null, date, now) : output;\n }\n\n longDateFormat(key: string) {\n const format = this._longDateFormat[key];\n const 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: string) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n get invalidDate(): string {\n return this._invalidDate;\n }\n\n set invalidDate(val: string) {\n this._invalidDate = val;\n }\n\n ordinal(num: number, token?: string): string {\n return this._ordinal.replace('%d', num.toString(10));\n }\n\n preparse(str: string, format?: string | string[]) {\n return str;\n }\n\n\n getFullYear(date: Date, isUTC = false): number {\n return getFullYear(date, isUTC);\n }\n\n postformat(str: string) {\n return str;\n }\n\n relativeTime(num: number, withoutSuffix: boolean, str: 'future' | 'past', isFuture: boolean): string {\n const output = this._relativeTime[str];\n\n return (isFunction(output)) ?\n output(num, withoutSuffix, str, isFuture) :\n output.replace(/%d/i, num.toString(10));\n }\n\n pastFuture(diff: number, output: string): string {\n const format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n /** Months */\n months(): string[];\n months(date: Date, format?: string, isUTC?: boolean): string;\n months(date?: Date, format?: string, isUTC = false): string | string[] {\n if (!date) {\n return isArray<string>(this._months)\n ? this._months\n : this._months.standalone;\n }\n\n if (isArray<string>(this._months)) {\n return this._months[getMonth(date, isUTC)];\n }\n\n const key = (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone';\n\n return this._months[key][getMonth(date, isUTC)];\n }\n\n monthsShort(): string[];\n monthsShort(date?: Date, format?: string, isUTC?: boolean): string;\n monthsShort(date?: Date, format?: string, isUTC = false): string | string[] {\n if (!date) {\n return isArray<string>(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort.standalone;\n }\n\n if (isArray<string>(this._monthsShort)) {\n return this._monthsShort[getMonth(date, isUTC)];\n }\n const key = MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone';\n\n return this._monthsShort[key][getMonth(date, isUTC)];\n }\n\n monthsParse(monthName: string, format?: string, strict?: boolean): number {\n let date;\n let regex;\n\n if (this._monthsParseExact) {\n return this.handleMonthStrictParse(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 let i;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n date = new Date(Date.UTC(2000, i));\n if (strict && !this._longMonthsParse[i]) {\n const _months = this.months(date, '', true).replace('.', '');\n const _shortMonths = this.monthsShort(date, '', true).replace('.', '');\n this._longMonthsParse[i] = new RegExp(`^${_months}$`, 'i');\n this._shortMonthsParse[i] = new RegExp(`^${_shortMonths}$`, 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = `^${this.months(date, '', true)}|^${this.monthsShort(date, '', true)}`;\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // testing the regex\n if (strict && format === 'MMMM' && (this._longMonthsParse[i] as RegExp).test(monthName)) {\n return i;\n }\n\n if (strict && format === 'MMM' && (this._shortMonthsParse[i] as RegExp).test(monthName)) {\n return i;\n }\n\n if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n monthsRegex(isStrict: boolean): RegExp {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this.computeMonthsParse();\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n }\n\n return this._monthsRegex;\n }\n\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n\n monthsShortRegex(isStrict: boolean): RegExp {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this.computeMonthsParse();\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n }\n\n return this._monthsShortRegex;\n }\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n\n /** Week */\n week(date: Date, isUTC?: boolean): number {\n return weekOfYear(date, this._week.dow, this._week.doy, isUTC).week;\n }\n\n firstDayOfWeek(): number {\n return this._week.dow;\n }\n\n firstDayOfYear(): number {\n return this._week.doy;\n }\n\n /** Day of Week */\n weekdays(): string[];\n weekdays(date: Date, format?: string, isUTC?: boolean): string;\n weekdays(date?: Date, format?: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return isArray<string>(this._weekdays)\n ? this._weekdays\n : this._weekdays.standalone;\n }\n\n if (isArray<string>(this._weekdays)) {\n return this._weekdays[getDay(date, isUTC)];\n }\n\n const _key = this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone';\n\n return this._weekdays[_key][getDay(date, isUTC)];\n }\n\n weekdaysMin(): string[];\n weekdaysMin(date: Date, format?: string, isUTC?: boolean): string;\n weekdaysMin(date?: Date, format?: string, isUTC?: boolean): string | string[] {\n return date ? this._weekdaysMin[getDay(date, isUTC)] : this._weekdaysMin;\n }\n\n weekdaysShort(): string[];\n weekdaysShort(date: Date, format?: string, isUTC?: boolean): string;\n weekdaysShort(date?: Date, format?: string, isUTC?: boolean): string | string[] {\n return date ? this._weekdaysShort[getDay(date, isUTC)] : this._weekdaysShort;\n }\n\n\n // proto.weekdaysParse = localeWeekdaysParse;\n weekdaysParse(weekdayName?: string, format?: string, strict?: boolean): number {\n let i;\n let regex;\n\n if (this._weekdaysParseExact) {\n return this.handleWeekStrictParse(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 // fix: here is the issue\n const date = setDayOfWeek(new Date(Date.UTC(2000, 1)), i, null, true);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(`^${this.weekdays(date, '', true).replace('.', '\\.?')}$`, 'i');\n this._shortWeekdaysParse[i] = new RegExp(`^${this.weekdaysShort(date, '', true).replace('.', '\\.?')}$`, 'i');\n this._minWeekdaysParse[i] = new RegExp(`^${this.weekdaysMin(date, '', true).replace('.', '\\.?')}$`, 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = `^${this.weekdays(date, '', true)}|^${this.weekdaysShort(date, '', true)}|^${this.weekdaysMin(date, '', true)}`;\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n\n if (!isArray<RegExp>(this._fullWeekdaysParse)\n || !isArray<RegExp>(this._shortWeekdaysParse)\n || !isArray<RegExp>(this._minWeekdaysParse)\n || !isArray<RegExp>(this._weekdaysParse)) {\n return;\n }\n\n // testing 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 // proto.weekdaysRegex = weekdaysRegex;\n weekdaysRegex(isStrict: boolean) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this.computeWeekdaysParse();\n }\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 = matchWord;\n }\n\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n // proto.weekdaysShortRegex = weekdaysShortRegex;\n // proto.weekdaysMinRegex = weekdaysMinRegex;\n\n\n weekdaysShortRegex(isStrict?: boolean): RegExp {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this.computeWeekdaysParse();\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 = matchWord;\n }\n\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n weekdaysMinRegex(isStrict?: boolean): RegExp {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this.computeWeekdaysParse();\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 = matchWord;\n }\n\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n isPM(input: string): boolean {\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 meridiem(hours: number, minutes: number, isLower: boolean): string {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n }\n\n return isLower ? 'am' : 'AM';\n }\n\n formatLongDate(key: string) {\n this._longDateFormat = this._longDateFormat ? this._longDateFormat : defaultLongDateFormat;\n const format = this._longDateFormat[key];\n const formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[\n key\n ] = formatUpper.replace(/MMMM|MM|DD|dddd/g, (val: string) => {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n private handleMonthStrictParse(monthName: string, format: string, strict?: boolean) {\n const llc = monthName.toLocaleLowerCase();\n let i;\n let ii;\n let mom;\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 = new Date(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 = (this._shortMonthsParse as string[]).indexOf(llc);\n\n return ii !== -1 ? ii : null;\n }\n ii = (this._longMonthsParse as string[]).indexOf(llc);\n\n return ii !== -1 ? ii : null;\n }\n\n if (format === 'MMM') {\n ii = (this._shortMonthsParse as string[]).indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n\n ii = (this._longMonthsParse as string[]).indexOf(llc);\n\n return ii !== -1 ? ii : null;\n }\n\n ii = (this._longMonthsParse as string[]).indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = (this._shortMonthsParse as string[]).indexOf(llc);\n\n return ii !== -1 ? ii : null;\n }\n\n private handleWeekStrictParse(weekdayName: string, format: string, strict: boolean): number {\n let ii;\n const llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n let i;\n for (i = 0; i < 7; ++i) {\n const date = setDayOfWeek(new Date(Date.UTC(2000, 1)), i, null, true);\n this._minWeekdaysParse[i] = this.weekdaysMin(date).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(date).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(date, '').toLocaleLowerCase();\n }\n }\n\n if (!isArray<string>(this._weekdaysParse)\n || !isArray<string>(this._shortWeekdaysParse)\n || !isArray<string>(this._minWeekdaysParse)) {\n return;\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = this._weekdaysParse.indexOf(llc);\n\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = this._shortWeekdaysParse.indexOf(llc);\n\n return ii !== -1 ? ii : null;\n } else {\n ii = this._minWeekdaysParse.indexOf(llc);\n\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = this._weekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._shortWeekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._minWeekdaysParse.indexOf(llc);\n\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = this._shortWeekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._weekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._minWeekdaysParse.indexOf(llc);\n\n return ii !== -1 ? ii : null;\n } else {\n ii = this._minWeekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._weekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._shortWeekdaysParse.indexOf(llc);\n\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n private computeMonthsParse() {\n const shortPieces: string[] = [];\n const longPieces: string[] = [];\n const mixedPieces: string[] = [];\n let date;\n\n let i;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n date = new Date(2000, i);\n shortPieces.push(this.monthsShort(date, ''));\n longPieces.push(this.months(date, ''));\n mixedPieces.push(this.months(date, ''));\n mixedPieces.push(this.monthsShort(date, ''));\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 private computeWeekdaysParse() {\n const minPieces = [];\n const shortPieces = [];\n const longPieces = [];\n const mixedPieces = [];\n\n let i;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n // let mom = createUTC([2000, 1]).day(i);\n const date = setDayOfWeek(new Date(Date.UTC(2000, 1)), i, null, true);\n const minp = this.weekdaysMin(date);\n const shortp = this.weekdaysShort(date);\n const longp = this.weekdays(date);\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\nfunction cmpLenRev(a: string, b: string): number {\n return b.length - a.length;\n}\n","export const 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","import {\n defaultDayOfMonthOrdinalParse,\n defaultLocaleMonths,\n defaultLocaleMonthsShort,\n defaultLocaleWeekdays,\n defaultLocaleWeekdaysMin,\n defaultLocaleWeekdaysShort, defaultLongDateFormat, defaultOrdinal,\n LocaleData\n} from './locale.class';\nimport { defaultCalendar } from './calendar';\n\nexport const defaultInvalidDate = 'Invalid date';\n\nexport const defaultLocaleWeek = {\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\nexport const defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n\nexport const defaultRelativeTime: {[key: string]: string} = {\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\nexport const baseConfig: LocaleData = {\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","// compare two arrays, return the number of differences\nimport { toInt } from './type-checks';\n\nexport function compareArrays<T>(array1: T[], array2: T[], dontConvert: boolean) {\n const len = Math.min(array1.length, array2.length);\n const lengthDiff = Math.abs(array1.length - array2.length);\n let diffs = 0;\n let i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i])\n || (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n\n return diffs + lengthDiff;\n}\n","import { addFormatToken } from '../format/format';\nimport { Locale } from '../locale/locale.class';\nimport { weekOfYear } from './week-calendar-utils';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { addWeekParseToken } from '../parse/token';\nimport { toInt } from '../utils/type-checks';\nimport { DateFormatterOptions, WeekParsing } from '../types';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { getLocale } from '../locale/locales';\nimport { add } from '../moment/add-subtract';\n\n// FORMATTING\n\nexport function initWeek() {\n addFormatToken('w', ['ww', 2, false], 'wo',\n function(date: Date, opts: DateFormatterOptions): string {\n return getWeek(date, opts.locale)\n .toString(10);\n }\n );\n\n addFormatToken('W', ['WW', 2, false], 'Wo',\n function(date: Date): string {\n return getISOWeek(date)\n .toString(10);\n }\n );\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(\n ['w', 'ww', 'W', 'WW'],\n function(input: string, week: WeekParsing, config: DateParsingConfig, token: string): DateParsingConfig {\n week[token.substr(0, 1)] = toInt(input);\n\n return config;\n }\n );\n\n// export function getSetWeek (input) {\n// var week = this.localeData().week(this);\n// return input == null ? week : this.add((input - week) * 7, 'd');\n// }\n}\n\nexport function setWeek(date: Date, input: number, locale = getLocale()): Date {\n const week = getWeek(date, locale);\n\n return add(date, (input - week) * 7, 'day');\n}\n\nexport function getWeek(date: Date, locale = getLocale(), isUTC?: boolean): number {\n return locale.week(date, isUTC);\n}\n\n// export function getSetISOWeek (input) {\n// var week = weekOfYear(this, 1, 4).week;\n// return input == null ? week : this.add((input - week) * 7, 'd');\n// }\n\nexport function setISOWeek(date: Date, input: number): Date {\n const week = getISOWeek(date);\n\n return add(date, (input - week) * 7, 'day');\n}\n\nexport function getISOWeek(date: Date, isUTC?: boolean): number {\n return weekOfYear(date, 1, 4, isUTC).week;\n}\n\n","import { addFormatToken } from '../format/format';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex';\nimport { addWeekParseToken } from '../parse/token';\nimport { toInt } from '../utils/type-checks';\nimport { parseTwoDigitYear } from './year';\nimport { dayOfYearFromWeeks, weekOfYear, weeksInYear } from './week-calendar-utils';\nimport { createUTCDate } from '../create/date-from-array';\nimport { getISOWeek, getWeek } from './week';\nimport { getISODayOfWeek, getLocaleDayOfWeek } from './day-of-week';\nimport { getLocale } from '../locale/locales';\nimport { setDate, setFullYear, setMonth } from '../utils/date-setters';\nimport { getDate, getFullYear, getMonth } from '../utils/date-getters';\nimport { Locale } from '../locale/locale.class';\nimport { DateFormatterFn, DateFormatterOptions, WeekParsing } from '../types';\n\n// FORMATTING\n\nexport function initWeekYear() {\n addFormatToken(null, ['gg', 2, false], null,\n function (date: Date, opts: DateFormatterOptions): string {\n // return this.weekYear() % 100;\n return (getWeekYear(date, opts.locale) % 100).toString();\n }\n );\n\n addFormatToken(null, ['GG', 2, false], null,\n function (date: Date): string {\n // return this.isoWeekYear() % 100;\n return (getISOWeekYear(date) % 100).toString();\n }\n );\n\n addWeekYearFormatToken('gggg', _getWeekYearFormatCb);\n addWeekYearFormatToken('ggggg', _getWeekYearFormatCb);\n addWeekYearFormatToken('GGGG', _getISOWeekYearFormatCb);\n addWeekYearFormatToken('GGGGG', _getISOWeekYearFormatCb);\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\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'],\n function (input, week: WeekParsing, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n\n return config;\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week: WeekParsing, config, token) {\n week[token] = parseTwoDigitYear(input);\n\n return config;\n });\n}\n\nfunction addWeekYearFormatToken(token: string, getter: DateFormatterFn): void {\n addFormatToken(null, [token, token.length, false], null, getter);\n}\n\nfunction _getWeekYearFormatCb(date: Date, opts: DateFormatterOptions): string {\n return getWeekYear(date, opts.locale).toString();\n}\n\nfunction _getISOWeekYearFormatCb(date: Date): string {\n return getISOWeekYear(date).toString();\n}\n\n// MOMENTS\n\nexport function getSetWeekYear(date: Date, input: number, locale = getLocale(), isUTC?: boolean): number | Date {\n return getSetWeekYearHelper(date,\n input,\n // this.week(),\n getWeek(date, locale, isUTC),\n // this.weekday(),\n getLocaleDayOfWeek(date, locale, isUTC),\n locale.firstDayOfWeek(),\n locale.firstDayOfYear(),\n isUTC);\n}\n\nexport function getWeekYear(date: Date, locale = getLocale(), isUTC?: boolean): number {\n return weekOfYear(date, locale.firstDayOfWeek(), locale.firstDayOfYear(), isUTC).year;\n}\n\nexport function getSetISOWeekYear(date: Date, input: number, isUTC?: boolean): number | Date {\n return getSetWeekYearHelper(date, input, getISOWeek(date, isUTC), getISODayOfWeek(date, isUTC), 1, 4);\n}\n\nexport function getISOWeekYear(date: Date, isUTC?: boolean): number {\n return weekOfYear(date, 1, 4, isUTC).year;\n}\n\nexport function getISOWeeksInYear(date: Date, isUTC?: boolean) {\n return weeksInYear(getFullYear(date, isUTC), 1, 4);\n}\n\nexport function getWeeksInYear(date: Date, isUTC?: boolean, locale: Locale = getLocale()): number {\n return weeksInYear(getFullYear(date, isUTC), locale.firstDayOfWeek(), locale.firstDayOfYear());\n}\n\nfunction getSetWeekYearHelper(date: Date, input: number, week: number,\n weekday: number, dow: number, doy: number, isUTC?: boolean): number | Date {\n if (!input) {\n return getWeekYear(date, void 0, isUTC);\n }\n\n const weeksTarget = weeksInYear(input, dow, doy);\n const _week = week > weeksTarget ? weeksTarget : week;\n\n return setWeekAll(date, input, _week, weekday, dow, doy);\n}\n\nfunction setWeekAll(date: Date, weekYear: number, week: number,\n weekday: number, dow: number, doy: number): Date {\n const dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n const _date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n setFullYear(date, getFullYear(_date, true), true);\n setMonth(date, getMonth(_date, true), true);\n setDate(date, getDate(_date, true), true);\n\n return date;\n}\n","import { addFormatToken } from '../format/format';\nimport { DateFormatterOptions } from '../types';\n\n// todo: add support for timezones\n\nexport function initTimezone() {\n // FORMATTING\n addFormatToken('z', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return opts.isUTC ? 'UTC' : '';\n }\n );\n addFormatToken('zz', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return opts.isUTC ? 'Coordinated Universal Time' : '';\n }\n );\n}\n\n// MOMENTS\n\nexport function getZoneAbbr(isUTC: boolean) {\n return isUTC ? 'UTC' : '';\n}\n\nexport function getZoneName(isUTC: boolean) {\n return isUTC ? 'Coordinated Universal Time' : '';\n}\n","import { addFormatToken } from '../format/format';\nimport { unix } from '../utils/date-getters';\nimport { addRegexToken, matchSigned, matchTimestamp } from '../parse/regex';\nimport { addParseToken} from '../parse/token';\nimport { toInt } from '../utils/type-checks';\nimport { DateArray } from '../types';\nimport { DateParsingConfig } from '../create/parsing.types';\n\n\nexport function initTimestamp() {\n// FORMATTING\n\n addFormatToken('X', null, null, function(date: Date): string {\n return unix(date)\n .toString(10);\n });\n addFormatToken('x', null, null, function(date: Date): string {\n return date.valueOf()\n .toString(10);\n });\n\n// PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n\n addParseToken('X', function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n config._d = new Date(parseFloat(input) * 1000);\n\n return config;\n });\n addParseToken('x', function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n config._d = new Date(toInt(input));\n\n return config;\n });\n}\n","import { addFormatToken } from '../format/format';\nimport { getSeconds } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { SECOND } from './constants';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { DateFormatterOptions } from '../types';\n\n\nexport function initSecond() {\n// FORMATTING\n\n addFormatToken('s', ['ss', 2, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return getSeconds(date, opts.isUTC)\n .toString(10);\n }\n );\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","import { addFormatToken } from '../format/format';\nimport { addRegexToken, match1 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { MONTH } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { getMonth } from '../utils/date-getters';\nimport { DateArray, DateFormatterOptions } from '../types';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { setMonth } from '../utils/date-setters';\n\n\nexport function initQuarter() {\n// FORMATTING\n\n addFormatToken('Q', null, 'Qo',\n function(date: Date, opts: DateFormatterOptions): string {\n return getQuarter(date, opts.isUTC)\n .toString(10);\n }\n );\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: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n array[MONTH] = (toInt(input) - 1) * 3;\n\n return config;\n });\n}\n\n// MOMENTS\n\nexport function getQuarter(date: Date, isUTC = false): number {\n return Math.ceil((getMonth(date, isUTC) + 1) / 3);\n}\n\nexport function setQuarter(date: Date, quarter: number, isUTC?: boolean): Date {\n return setMonth(date, (quarter - 1) * 3 + getMonth(date, isUTC) % 3, isUTC);\n}\n\n// export 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","// FORMATTING\n\nimport { addFormatToken } from '../format/format';\nimport { zeroFill } from '../utils/zero-fill';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { isNumber, isString, toInt } from '../utils/type-checks';\nimport { addRegexToken, matchOffset, matchShortOffset } from '../parse/regex';\nimport { add } from '../moment/add-subtract';\nimport { addParseToken } from '../parse/token';\nimport { DateArray } from '../types';\nimport { cloneDate } from '../create/clone';\nimport { setMonth } from '../utils/date-setters';\n\nfunction addOffsetFormatToken(token: string, separator: string): void {\n addFormatToken(token, null, null, function (date: Date, config): string {\n let offset = getUTCOffset(date, {_isUTC: config.isUTC, _offset: config.offset});\n let sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n}\n\nexport function initOffset() {\n addOffsetFormatToken('Z', ':');\n addOffsetFormatToken('ZZ', '');\n\n// PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n\n return config;\n });\n}\n\n// HELPERS\n\n// timezone chunker\n// '+10:00' > ['10', '00']\n// '-1530' > ['-15', '30']\nconst chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction offsetFromString(matcher: RegExp, str: string): number {\n const matches = (str || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n const chunk = matches[matches.length - 1];\n const parts = chunk.match(chunkOffset) || ['-', '0', '0'];\n const minutes = parseInt(parts[1], 10) * 60 + toInt(parts[2]);\n const _min = parts[0] === '+' ? minutes : -minutes;\n\n return minutes === 0 ? 0 : _min;\n}\n\n// Return a moment from input, that is local/utc/zone equivalent to model.\nexport function cloneWithOffset(input: Date, date: Date,\n config: DateParsingConfig = {}): Date {\n if (!config._isUTC) {\n return input;\n }\n\n const res = cloneDate(date);\n // todo: input._d - res._d + ((res._offset || 0) - (input._offset || 0))*60000\n const offsetDiff = (config._offset || 0) * 60000;\n const diff = input.valueOf() - res.valueOf() + offsetDiff;\n // Use low-level api, because this fn is low-level api.\n res.setTime(res.valueOf() + diff);\n // todo: add timezone handling\n // hooks.updateOffset(res, false);\n\n return res;\n}\n\nexport function getDateOffset(date: Date): number {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(date.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// todo: it's from moment timezones\n// hooks.updateOffset = function () {\n// };\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.\nexport function getUTCOffset(date: Date, config: DateParsingConfig = {}): number {\n const _offset = config._offset || 0;\n\n return config._isUTC ? _offset : getDateOffset(date);\n}\n\nexport function setUTCOffset(date: Date, input: number | string, keepLocalTime?: boolean, keepMinutes?: boolean, config: DateParsingConfig = {}): Date {\n const offset = config._offset || 0;\n let localAdjust;\n let _input = input;\n let _date = date;\n\n if (isString(_input)) {\n _input = offsetFromString(matchShortOffset, _input);\n if (_input === null) {\n return _date;\n }\n } else if (isNumber(_input) && Math.abs(_input) < 16 && !keepMinutes) {\n _input = _input * 60;\n }\n\n if (!config._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(_date);\n }\n config._offset = _input;\n config._isUTC = true;\n if (localAdjust != null) {\n _date = add(_date, localAdjust, 'minutes');\n }\n if (offset !== _input) {\n if (!keepLocalTime || config._changeInProgress) {\n _date = add(_date, _input - offset, 'minutes', config._isUTC);\n // addSubtract(this, createDuration(_input - offset, 'm'), 1, false);\n } else if (!config._changeInProgress) {\n config._changeInProgress = true;\n // todo: add timezone handling\n // hooks.updateOffset(this, true);\n config._changeInProgress = null;\n }\n }\n\n return _date;\n}\n\n/*\nexport 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\nexport function setOffsetToUTC(date: Date, keepLocalTime?: boolean): Date {\n return setUTCOffset(date, 0, keepLocalTime);\n}\n\nexport function isDaylightSavingTime(date: Date): boolean {\n\n return (getUTCOffset(date) > getUTCOffset(setMonth(cloneDate(date), 0))\n || getUTCOffset(date) > getUTCOffset(setMonth(cloneDate(date), 5)));\n}\n\n/*export function setOffsetToLocal(date: Date, isUTC?: boolean, keepLocalTime?: boolean) {\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\nexport function setOffsetToParsedOffset(date: Date, input: string, config: DateParsingConfig = {}): Date {\n if (config._tzm != null) {\n return setUTCOffset(date, config._tzm, false, true, config);\n }\n\n if (isString(input)) {\n const tZone = offsetFromString(matchOffset, input);\n if (tZone != null) {\n return setUTCOffset(date, tZone, false, false, config);\n }\n\n return setUTCOffset(date, 0, true, false, config);\n }\n\n return date;\n}\n\nexport function hasAlignedHourOffset(date: Date, input?: Date) {\n const _input = input ? getUTCOffset(input, { _isUTC: false }) : 0;\n\n return (getUTCOffset(date) - _input) % 60 === 0;\n}\n\n\n// DEPRECATED\n/*export function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n const c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n const other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n}*/\n\n// in Khronos\n/*export function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n}\n\nexport function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n}\n\nexport function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}*/\n","import { addFormatToken } from '../format/format';\nimport { getMinutes } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { MINUTE } from './constants';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nimport { DateFormatterOptions } from '../types';\n\n\nexport function initMinute() {\n// FORMATTING\n\n addFormatToken('m', ['mm', 2, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return getMinutes(date, opts.isUTC)\n .toString(10);\n }\n );\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","// FORMATTING\n\nimport { addFormatToken } from '../format/format';\nimport { addRegexToken, match1, match1to3, match2, match3, matchUnsigned } from '../parse/regex';\nimport { MILLISECOND } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { addParseToken } from '../parse/token';\nimport { DateArray, DateFormatterOptions, WeekParsing } from '../types';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { getMilliseconds } from '../utils/date-getters';\n\n\nexport function initMillisecond() {\n addFormatToken('S', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (~~(getMilliseconds(date, opts.isUTC) / 100)).toString(10);\n }\n );\n\n addFormatToken(null, ['SS', 2, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (~~(getMilliseconds(date, opts.isUTC) / 10)).toString(10);\n }\n );\n\n addFormatToken(null, ['SSS', 3, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (getMilliseconds(date, opts.isUTC)).toString(10);\n }\n );\n addFormatToken(null, ['SSSS', 4, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (getMilliseconds(date, opts.isUTC) * 10).toString(10);\n }\n );\n addFormatToken(null, ['SSSSS', 5, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (getMilliseconds(date, opts.isUTC) * 100).toString(10);\n }\n );\n addFormatToken(null, ['SSSSSS', 6, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (getMilliseconds(date, opts.isUTC) * 1000).toString(10);\n }\n );\n addFormatToken(null, ['SSSSSSS', 7, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (getMilliseconds(date, opts.isUTC) * 10000).toString(10);\n }\n );\n addFormatToken(null, ['SSSSSSSS', 8, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (getMilliseconds(date, opts.isUTC) * 100000).toString(10);\n }\n );\n addFormatToken(null, ['SSSSSSSSS', 9, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return (getMilliseconds(date, opts.isUTC) * 1000000).toString(10);\n }\n );\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 let token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n array[MILLISECOND] = toInt(parseFloat(`0.${input}`) * 1000);\n\n return config;\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n// MOMENTS\n}\n","import { getHours, getMinutes, getSeconds } from '../utils/date-getters';\nimport { addFormatToken } from '../format/format';\nimport { zeroFill } from '../utils/zero-fill';\nimport { Locale } from '../locale/locale.class';\nimport { addRegexToken, match1to2, match2, match3to4, match5to6 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { HOUR, MINUTE, SECOND } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { DateArray, DateFormatterOptions } from '../types';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { getParsingFlags } from '../create/parsing-flags';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\n\n\nexport function initHour() {\n// FORMATTING\n\n function hFormat(date: Date, isUTC: boolean): number {\n return getHours(date, isUTC) % 12 || 12;\n }\n\n function kFormat(date: Date, isUTC: boolean): number {\n return getHours(date, isUTC) || 24;\n }\n\n addFormatToken('H', ['HH', 2, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return getHours(date, opts.isUTC)\n .toString(10);\n }\n );\n addFormatToken('h', ['hh', 2, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return hFormat(date, opts.isUTC)\n .toString(10);\n }\n );\n addFormatToken('k', ['kk', 2, false], null,\n function(date: Date, opts: DateFormatterOptions): string {\n return kFormat(date, opts.isUTC)\n .toString(10);\n }\n );\n\n addFormatToken('hmm', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n const _h = hFormat(date, opts.isUTC);\n const _mm = zeroFill(getMinutes(date, opts.isUTC), 2);\n\n return `${_h}${_mm}`;\n }\n );\n\n addFormatToken('hmmss', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n const _h = hFormat(date, opts.isUTC);\n const _mm = zeroFill(getMinutes(date, opts.isUTC), 2);\n const _ss = zeroFill(getSeconds(date, opts.isUTC), 2);\n\n return `${_h}${_mm}${_ss}`;\n }\n );\n\n addFormatToken('Hmm', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n const _H = getHours(date, opts.isUTC);\n const _mm = zeroFill(getMinutes(date, opts.isUTC), 2);\n\n return `${_H}${_mm}`;\n }\n );\n\n addFormatToken('Hmmss', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n const _H = getHours(date, opts.isUTC);\n const _mm = zeroFill(getMinutes(date, opts.isUTC), 2);\n const _ss = zeroFill(getSeconds(date, opts.isUTC), 2);\n\n return `${_H}${_mm}${_ss}`;\n }\n );\n\n function meridiem(token: string, lowercase: boolean): void {\n addFormatToken(token, null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return opts.locale.meridiem(getHours(date, opts.isUTC), getMinutes(date, opts.isUTC), lowercase);\n }\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\n// PARSING\n\n function matchMeridiem(isStrict: boolean, locale: Locale): RegExp {\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(\n ['k', 'kk'],\n function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n const kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n\n return config;\n }\n );\n addParseToken(['a', 'A'], function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n\n return config;\n });\n addParseToken(['h', 'hh'], function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n\n return config;\n });\n addParseToken('hmm', function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n const 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 return config;\n });\n addParseToken('hmmss', function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n const pos1 = input.length - 4;\n const 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 return config;\n });\n addParseToken('Hmm', function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n const pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n\n return config;\n });\n addParseToken('Hmmss', function(input: string, array: DateArray, config: DateParsingConfig): DateParsingConfig {\n const pos1 = input.length - 4;\n const 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 return config;\n });\n\n}\n","// internal storage for locale config files\nimport { Locale, LocaleData } from './locale.class';\nimport { baseConfig } from './locale.defaults';\nimport { hasOwnProp, isArray, isObject, isString, isUndefined, toInt } from '../utils/type-checks';\nimport { compareArrays } from '../utils/compare-arrays';\n\nimport { initWeek } from '../units/week';\nimport { initWeekYear } from '../units/week-year';\nimport { initYear } from '../units/year';\nimport { initTimezone } from '../units/timezone';\nimport { initTimestamp } from '../units/timestamp';\nimport { initSecond } from '../units/second';\nimport { initQuarter } from '../units/quarter';\nimport { initOffset } from '../units/offset';\nimport { initMinute } from '../units/minute';\nimport { initMillisecond } from '../units/millisecond';\nimport { initMonth } from '../units/month';\nimport { initHour } from '../units/hour';\nimport { initDayOfYear } from '../units/day-of-year';\nimport { initDayOfWeek } from '../units/day-of-week';\nimport { initDayOfMonth } from '../units/day-of-month';\n\nconst locales: { [key: string]: Locale } = {};\nconst localeFamilies: { [key: string]: {name: string; config: LocaleData}[] } = {};\nlet globalLocale: Locale;\n\nfunction normalizeLocale(key: string): string {\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,\n// but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names: string[]): Locale {\n let next;\n let locale;\n let i = 0;\n\n while (i < names.length) {\n const split = normalizeLocale(names[i]).split('-');\n let 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\n return null;\n}\n\nexport function mergeConfigs(parentConfig: LocaleData,\n childConfig: LocaleData) {\n const res: LocaleData = Object.assign({}, parentConfig);\n\n for (const childProp in childConfig) {\n if (!hasOwnProp(childConfig, childProp)) {\n continue;\n }\n\n if (isObject(parentConfig[childProp]) && isObject(childConfig[childProp])) {\n res[childProp as any] = {};\n Object.assign(res[childProp], parentConfig[childProp]);\n Object.assign(res[childProp], childConfig[childProp]);\n } else if (childConfig[childProp] != null) {\n res[childProp as any] = childConfig[childProp];\n } else {\n delete res[childProp as any];\n }\n }\n for (const parentProp in parentConfig) {\n if (\n hasOwnProp(parentConfig, parentProp) &&\n !hasOwnProp(childConfig, parentProp) &&\n isObject(parentConfig[parentProp as keyof LocaleData])\n ) {\n // make sure changes to properties don't modify parent config\n res[parentProp as any] = Object.assign({}, res[parentProp as keyof LocaleData]);\n }\n }\n\n return res;\n}\n\n\nfunction loadLocale(name: string): Locale {\n // no way!\n /* var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }*/\n if (!locales[name]) {\n console.error(`Khronos locale error: please load locale \"${name}\" before using it`);\n // throw new Error(`Khronos locale error: please load locale \"${name}\" before using it`);\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.\nexport function getSetGlobalLocale(key?: string | string[], values?: LocaleData): string {\n let data: Locale;\n\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else if (isString(key)) {\n data = defineLocale(key, values);\n }\n\n if (data) {\n globalLocale = data;\n }\n }\n\n return globalLocale && globalLocale._abbr;\n}\n\nexport function defineLocale(name: string, config?: LocaleData): Locale {\n if (config === null) {\n // useful for testing\n delete locales[name];\n globalLocale = getLocale('en');\n\n return null;\n }\n\n if (!config) {\n return;\n }\n\n let parentConfig = baseConfig;\n config.abbr = name;\n if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({ name, 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\n return locales[name];\n}\n\nexport function updateLocale(name: string, config?: LocaleData): Locale {\n let _config = config;\n\n if (_config != null) {\n let parentConfig = baseConfig;\n // MERGE\n const tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n _config = mergeConfigs(parentConfig, _config);\n const 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\n return locales[name];\n}\n\n// returns locale data\nexport function getLocale(key?: string | string[]): Locale {\n setDefaultLocale();\n\n if (!key) {\n return globalLocale;\n }\n // let locale;\n const _key = isArray(key) ? key : [key];\n\n return chooseLocale(_key);\n}\n\nexport function listLocales(): string[] {\n return Object.keys(locales);\n}\n\nfunction setDefaultLocale(): void {\n if (locales[`en`]) {\n\n return undefined;\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal(num: number): string {\n const b = num % 10;\n const output =\n toInt((num % 100) / 10) === 1\n ? 'th'\n : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n\n return num + output;\n }\n });\n\n initWeek();\n initWeekYear();\n initYear();\n initTimezone();\n initTimestamp();\n initSecond();\n initQuarter();\n initOffset();\n initMonth();\n initMinute();\n initMillisecond();\n initHour();\n initDayOfYear();\n initDayOfWeek();\n initDayOfMonth();\n}\n","import { toInt } from '../utils/type-checks';\nimport { createDuration } from './create';\nimport { Duration } from './constructor';\nimport { DateObject } from '../types';\n\nconst ordering: (keyof DateObject)[] = ['year', 'quarter', 'month', 'week', 'day', 'hours', 'minutes', 'seconds', 'milliseconds'];\nconst orderingHash = ordering.reduce((mem: { [key: string]: boolean }, order) => {\n mem[order] = true;\n\n return mem;\n}, {});\n\nexport function isDurationValid(duration: Partial<DateObject>): boolean {\n const durationKeys = Object.keys(duration);\n if (durationKeys\n .some((key: keyof DateObject) => {\n return (key in orderingHash)\n && duration[key] === null\n || isNaN(duration[key]);\n })) {\n return false;\n }\n // for (let key in duration) {\n // if (!(indexOf.call(ordering, key) !== -1 && (duration[key] == null || !isNaN(duration[key])))) {\n // return false;\n // }\n // }\n\n let unitHasDecimal = false;\n for (let i = 0; i < ordering.length; ++i) {\n if (duration[ordering[i]]) {\n // only allow non-integers for smallest unit\n if (unitHasDecimal) {\n return false;\n }\n if (duration[ordering[i]] !== toInt(duration[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n}\n\n// export function isValid() {\n// return this._isValid;\n// }\n//\n// export function createInvalid(): Duration {\n// return createDuration(NaN);\n// }\n","export function absCeil (number: number): number {\n return number < 0 ? Math.floor(number) : Math.ceil(number);\n}\n","import { Duration } from './constructor';\nimport { absFloor } from '../utils';\nimport { absCeil } from '../utils/abs-ceil';\n\nexport function bubble(dur: Duration): Duration {\n let milliseconds = dur._milliseconds;\n let days = dur._days;\n let months = dur._months;\n const data = dur._data;\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) ||\n (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 const seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n const minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n const hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n const monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n const years = absFloor(months / 12);\n months %= 12;\n\n data.day = days;\n data.month = months;\n data.year = years;\n\n return dur;\n}\n\nexport function daysToMonths(day: number): number {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return day * 4800 / 146097;\n}\n\nexport function monthsToDays(month: number): number {\n // the reverse of daysToMonths\n return month * 146097 / 4800;\n}\n","import { createDuration } from './create';\nimport { Locale } from '../locale/locale.class';\nimport { Duration } from './constructor';\n\nlet round = Math.round;\nconst thresholds: { [key: string]: number } = {\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\nfunction substituteTimeAgo(str: 'future' | 'past', num: number,\n withoutSuffix: boolean, isFuture: boolean,\n locale: Locale): string {\n return locale.relativeTime(num || 1, !!withoutSuffix, str, isFuture);\n}\n\nexport function relativeTime(posNegDuration: Duration, withoutSuffix: boolean, locale: Locale): string {\n const duration = createDuration(posNegDuration).abs();\n const seconds = round(duration.as('s'));\n const minutes = round(duration.as('m'));\n const hours = round(duration.as('h'));\n const days = round(duration.as('d'));\n const months = round(duration.as('M'));\n const years = round(duration.as('y'));\n\n const a: [string] | [string, number] =\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 months <= 1 && ['M'] ||\n months < thresholds[\"M\"] && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n const b: [string, number | string, boolean, boolean, Locale] =\n [a[0], a[1], withoutSuffix, +posNegDuration > 0, locale];\n // a[2] = withoutSuffix;\n // a[3] = +posNegDuration > 0;\n // a[4] = locale;\n\n return substituteTimeAgo.apply(null, b);\n}\n\n// This function allows you to set the rounding function for relative time strings\nexport function getSetRelativeTimeRounding(roundingFunction: any): boolean | ((x: number) => number) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n\n return true;\n }\n\n return false;\n}\n\n// This function allows you to set a threshold for relative time strings\nexport function getSetRelativeTimeThreshold(threshold: string, limit: number): boolean | number {\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\n return true;\n}\n\n// export function humanize(withSuffix) {\n// if (!this.isValid()) {\n// return this.localeData().invalidDate();\n// }\n//\n// const locale = this.localeData();\n// let output = relativeTime(this, !withSuffix, locale);\n//\n// if (withSuffix) {\n// output = locale.pastFuture(+this, output);\n// }\n//\n// return locale.postformat(output);\n// }\n","import { getLocale } from '../locale/locales';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { isDurationValid } from './valid';\nimport { bubble, daysToMonths, monthsToDays } from './bubble';\nimport { DateObject } from '../types';\nimport { Locale } from '../locale/locale.class';\nimport { normalizeUnits } from '../units/aliases';\nimport { relativeTime } from './humanize';\nimport { toInt } from '../utils/type-checks';\n\nexport class Duration {\n _milliseconds: number;\n _days: number;\n _months: number;\n _data: Partial<DateObject> = {};\n _locale: Locale = getLocale();\n _isValid: boolean;\n\n constructor(duration: Partial<DateObject>, config: DateParsingConfig = {}) {\n this._locale = config && config._locale || getLocale();\n // const normalizedInput = normalizeObjectUnits(duration);\n const normalizedInput = duration;\n const years = normalizedInput.year || 0;\n const quarters = normalizedInput.quarter || 0;\n const months = normalizedInput.month || 0;\n const weeks = normalizedInput.week || 0;\n const days = normalizedInput.day || 0;\n const hours = normalizedInput.hours || 0;\n const minutes = normalizedInput.minutes || 0;\n const seconds = normalizedInput.seconds || 0;\n const milliseconds = normalizedInput.milliseconds || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1000 +\n minutes * 60 * 1000 + // 1000 * 60\n hours * 1000 * 60 * 60; // using 1000 * 60 * 60\n // 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 +\n 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 +\n quarters * 3 +\n years * 12;\n\n // this._data = {};\n\n // this._locale = getLocale();\n\n // this._bubble();\n return bubble(this);\n }\n\n isValid(): boolean {\n return this._isValid;\n }\n\n humanize(withSuffix?: boolean): string {\n // throw new Error(`TODO: implement`);\n\n if (!this.isValid()) {\n return this.localeData().invalidDate;\n }\n\n const locale = this.localeData();\n let output = relativeTime(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n localeData(): Locale {\n return this._locale;\n }\n\n locale(): string;\n locale(localeKey: string): Duration;\n locale(localeKey?: string): Duration | string {\n if (!localeKey) {\n return this._locale._abbr;\n }\n\n this._locale = getLocale(localeKey) || this._locale;\n\n return this;\n }\n\n\n abs(): Duration {\n const mathAbs = Math.abs;\n\n const 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.month = mathAbs(data.month);\n data.year = mathAbs(data.year);\n\n return this;\n }\n\n as(_units: string): number {\n if (!this.isValid()) {\n return NaN;\n }\n let days;\n let months;\n const milliseconds = this._milliseconds;\n\n const units = normalizeUnits(_units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n\n return units === 'month' ? months : months / 12;\n }\n\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 'hours' :\n return days * 24 + milliseconds / 36e5;\n case 'minutes' :\n return days * 1440 + milliseconds / 6e4;\n case 'seconds' :\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'milliseconds':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error(`Unknown unit ${units}`);\n }\n }\n\n valueOf () {\n if (!this.isValid()) {\n return NaN;\n }\n\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n}\n\nexport function isDuration(obj: any): obj is Duration {\n return obj instanceof Duration;\n}\n","import { DateParsingConfig } from './parsing.types';\nimport { getParsingFlags } from './parsing-flags';\n\nexport function isValid(config: DateParsingConfig): boolean {\n if (config._isValid == null) {\n const flags = getParsingFlags(config);\n const parsedParts = Array.prototype.some.call(flags.parsedDateParts, function (i: number) {\n return i != null;\n });\n let isNowValid = !isNaN(config._d && config._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\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\n if (config._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(config)) {\n config._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n\n return config._isValid;\n}\n\nexport function createInvalid(config: DateParsingConfig, flags?: { nullInput: boolean }): DateParsingConfig {\n config._d = new Date(NaN);\n Object.assign(getParsingFlags(config), flags || { userInvalidated: true });\n\n return config;\n}\n\nexport function markInvalid(config: DateParsingConfig): DateParsingConfig {\n config._isValid = false;\n\n return config;\n}\n","import { defaultLocaleMonthsShort, defaultLocaleWeekdaysShort } from '../locale/locale.class';\nimport { DateArray } from '../types';\nimport { DateParsingConfig } from './parsing.types';\nimport { isString } from '../utils/type-checks';\nimport { configFromStringAndFormat } from './from-string-and-format';\nimport { createUTCDate } from './date-from-array';\nimport { createInvalid, markInvalid } from './valid';\nimport { getParsingFlags } from './parsing-flags';\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)\nconst 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)?)?$/;\nconst 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\nconst tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\nconst isoDates: [string, RegExp, boolean][] = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/, true],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/, true],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/, true],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/, true],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/, true],\n ['YYYYMMDD', /\\d{8}/, true],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/, true],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/, true]\n];\n\n// iso time formats and regexes\nconst isoTimes: [string, RegExp][] = [\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\nconst aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\nconst obsOffsets: { [key: string]: number } = {\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// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\nconst 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// date from iso format\nexport function configFromISO(config: DateParsingConfig): DateParsingConfig {\n if (!isString(config._i)) {\n return config;\n }\n\n const input = config._i;\n const match = extendedIsoRegex.exec(input) || basicIsoRegex.exec(input);\n\n\n let allowTime;\n let dateFormat;\n let timeFormat;\n let tzFormat;\n\n if (!match) {\n config._isValid = false;\n\n return config;\n }\n\n // getParsingFlags(config).iso = true;\n let i;\n let l;\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\n if (dateFormat == null) {\n config._isValid = false;\n\n return config;\n }\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\n if (timeFormat == null) {\n config._isValid = false;\n\n return config;\n }\n\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n\n return config;\n }\n\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n\n return config;\n }\n }\n\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n\n return configFromStringAndFormat(config);\n}\n\nfunction extractFromRFC2822Strings(yearStr: string, monthStr: string, dayStr: string, hourStr: string, minuteStr: string, secondStr: string): DateArray {\n const 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\nfunction untruncateYear(yearStr: string): number {\n const year = parseInt(yearStr, 10);\n\n return year <= 49 ? year + 2000 : year;\n}\n\nfunction preprocessRFC2822(str: string): string {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return str\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ').trim();\n}\n\nfunction checkWeekday(weekdayStr: string, parsedInput: DateArray, config: DateParsingConfig): boolean {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n const weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr);\n const weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n\n return false;\n }\n }\n\n return true;\n}\n\nfunction calculateOffset(obsOffset: string, militaryOffset: string, numOffset: string) {\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 const hm = parseInt(numOffset, 10);\n const m = hm % 100;\n const h = (hm - m) / 100;\n\n return h * 60 + m;\n }\n}\n\n// date and time from ref 2822 format\nexport function configFromRFC2822(config: DateParsingConfig): DateParsingConfig {\n if (!isString(config._i)) {\n return config;\n }\n\n const match = rfc2822.exec(preprocessRFC2822(config._i));\n\n if (!match) {\n return markInvalid(config);\n }\n\n const parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return config;\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\n return config;\n}\n\n// date from iso format or fallback\nexport function configFromString(config: DateParsingConfig): DateParsingConfig {\n if (!isString(config._i)) {\n return config;\n }\n\n const matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n\n return config;\n }\n\n // todo: update logic processing\n // isISO -> configFromISO\n // isRFC -> configFromRFC\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return config;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return config;\n }\n\n // Final attempt, use Input Fallback\n // hooks.createFromInputFallback(config);\n return createInvalid(config);\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 and will be removed in an upcoming major release. Please refer to ' +\n// '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","// moment.js\n// version : 2.18.1\n// authors : Tim Wood, Iskren Chernev, Moment.js contributors\n// license : MIT\n// momentjs.com\n\nimport './units/index';\nimport { formatFunctions, makeFormatFunction } from './format/format';\nimport { Locale } from './locale/locale.class';\nimport { getLocale } from './locale/locales';\nimport { isDateValid } from './utils/type-checks';\n\nexport function formatDate(date: Date, format?: string, locale?: string, isUTC?: boolean, offset = 0): string {\n const _locale = getLocale(locale || 'en');\n if (!_locale) {\n throw new Error(\n `Locale \"${locale}\" is not defined, please add it with \"defineLocale(...)\"`\n );\n }\n\n const _format = format || (isUTC ? 'YYYY-MM-DDTHH:mm:ss[Z]' : 'YYYY-MM-DDTHH:mm:ssZ');\n\n const output = formatMoment(date, _format, _locale, isUTC, offset);\n\n if (!output) {\n return output;\n }\n\n return _locale.postformat(output);\n}\n\n// format date using native date object\nexport function formatMoment(date: Date, _format: string, locale: Locale, isUTC?: boolean, offset = 0): string {\n if (!isDateValid(date)) {\n return locale.invalidDate;\n }\n\n const format = expandFormat(_format, locale);\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](date, locale, isUTC, offset);\n}\n\nexport function expandFormat(_format: string, locale: Locale): string {\n let format = _format;\n let i = 5;\n const localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n const replaceLongDateFormatTokens = (input: any) => {\n return locale.formatLongDate(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","// Pick the first defined of two or three arguments.\nexport function defaults<T>(a?: T, b?: T, c?: T): T {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n\n return c;\n}\n","import { DateParsingConfig } from './parsing.types';\nimport { DateArray } from '../types';\nimport { DATE, HOUR, MILLISECOND, MINUTE, MONTH, SECOND, YEAR } from '../units/constants';\nimport { daysInYear } from '../units/year';\nimport { getParsingFlags } from './parsing-flags';\nimport { createUTCDate } from './date-from-array';\nimport { createDate } from './date-from-array';\nimport { dayOfYearFromWeeks, weekOfYear, weeksInYear } from '../units/week-calendar-utils';\nimport { defaults } from '../utils/defaults';\n\nfunction currentDateArray(config: DateParsingConfig): DateArray {\n const nowValue = new Date();\n\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), 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]\nexport function configFromArray(config: DateParsingConfig): DateParsingConfig {\n const input = [];\n let i;\n let date;\n let yearToUse;\n\n if (config._d) {\n return config;\n }\n\n const 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 = new Date(Date.UTC(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 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n // eslint-disable-next-line prefer-spread\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n const 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 return config;\n}\n\nfunction dayOfYearFromWeekInfo(config: DateParsingConfig): DateParsingConfig {\n let weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n const 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(new Date(), 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 const curWeek = weekOfYear(new Date(), 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 return config;\n}\n","import { getParsingFlags } from './parsing-flags';\nimport { DATE, HOUR, MILLISECOND, MINUTE, MONTH, SECOND, WEEK, WEEKDAY, YEAR } from '../units/constants';\nimport { daysInMonth } from '../units/month';\nimport { DateParsingConfig } from './parsing.types';\n\nexport function checkOverflow(config: DateParsingConfig): DateParsingConfig {\n let overflow;\n const a = config._a;\n\n if (a && getParsingFlags(config).overflow === -2) {\n // todo: fix this sh*t\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(config)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(config)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(config)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(config).overflow = overflow;\n }\n\n return config;\n}\n\n","import { DateParsingConfig } from './parsing.types';\nimport { configFromISO, configFromRFC2822 } from './from-string';\nimport { expandFormat } from '../format';\nimport { formattingTokens, formatTokenFunctions } from '../format/format';\nimport { isArray, isString } from '../utils/type-checks';\nimport { getParseRegexForToken } from '../parse/regex';\nimport { addTimeToArrayFromToken } from '../parse/token';\nimport { HOUR } from '../units/constants';\nimport { configFromArray } from './from-array';\nimport { getParsingFlags } from './parsing-flags';\nimport { checkOverflow } from './check-overflow';\nimport { Locale } from '../locale/locale.class';\n\n// constant that refers to the ISO standard\n// hooks.ISO_8601 = function () {};\nexport const ISO_8601 = 'ISO_8601';\n\n// constant that refers to the RFC 2822 form\n// hooks.RFC_2822 = function () {};\nexport const RFC_2822 = 'RFC_2822';\n\n// date from string and format string\nexport function configFromStringAndFormat(config: DateParsingConfig): DateParsingConfig {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === ISO_8601) {\n return configFromISO(config);\n }\n if (config._f === RFC_2822) {\n return configFromRFC2822(config);\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n if (isArray(config._f) || (!config._i && config._i !== 0)) {\n return config;\n }\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n\n let input = config._i.toString();\n let totalParsedInputLength = 0;\n const inputLength = input.length;\n const tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n let i;\n let token;\n let parsedInput;\n let skipped;\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (input.match(getParseRegexForToken(token, config._locale)) || [])[0];\n if (parsedInput) {\n skipped = input.substr(0, input.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n input = input.slice(input.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\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 = inputLength - totalParsedInputLength;\n if (input.length > 0) {\n getParsingFlags(config).unusedInput.push(input);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = void 0;\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\n return checkOverflow(config);\n}\n\n\nfunction meridiemFixWrap(locale: Locale, _hour: number, meridiem: string): number {\n let hour = _hour;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n }\n\n if (locale.isPM == null) {\n // this is not supposed to happen\n return hour;\n }\n // Fallback\n const isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n\n if (!isPm && hour === 12) {\n hour = 0;\n }\n\n return hour;\n}\n","import { DateParsingConfig } from './parsing.types';\nimport { createInvalid, isValid } from './valid';\nimport { getParsingFlags } from './parsing-flags';\nimport { configFromStringAndFormat } from './from-string-and-format';\n\n// date from string and array of format strings\nexport function configFromStringAndArray(config: DateParsingConfig): DateParsingConfig {\n let tempConfig;\n let bestMoment;\n let scoreToBeat;\n let currentScore;\n\n if (!config._f || config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n\n return createInvalid(config);\n }\n\n let i;\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = Object.assign({}, 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 return Object.assign(config, bestMoment || tempConfig);\n}\n","import { normalizeObjectUnits } from '../units/aliases';\nimport { configFromArray } from './from-array';\nimport { DateParsingConfig } from './parsing.types';\nimport { isObject, isString } from '../utils/type-checks';\n\nexport function configFromObject(config: DateParsingConfig): DateParsingConfig {\n if (config._d) {\n return config;\n }\n\n const input = config._i;\n if (isObject(input)) {\n const i = normalizeObjectUnits(input as Record<string, unknown>);\n config._a = [i.year, i.month, i.day, i.hours, i.minutes, i.seconds, i.milliseconds]\n // todo: obsolete -> remove it\n .map(obj => isString(obj) ? parseInt(obj, 10) : obj);\n }\n\n return configFromArray(config);\n}\n","import { isArray, isDate, isNumber, isObject, isObjectEmpty, isString, isUndefined } from '../utils/type-checks';\nimport { DateParsingConfig } from './parsing.types';\nimport { getLocale } from '../locale/locales';\nimport { createInvalid, isValid } from './valid';\nimport { configFromStringAndArray } from './from-string-and-array';\nimport { configFromStringAndFormat } from './from-string-and-format';\nimport { cloneDate } from './clone';\nimport { configFromString } from './from-string';\nimport { configFromArray } from './from-array';\nimport { configFromObject } from './from-object';\nimport { checkOverflow } from './check-overflow';\nimport { DateInput } from '../testing/chain';\n\nfunction createFromConfig(config: DateParsingConfig): DateParsingConfig {\n const res = checkOverflow(prepareConfig(config));\n // todo: remove, in moment.js it's never called cuz of moment constructor\n res._d = new Date(res._d != null ? res._d.getTime() : NaN);\n if (!isValid(Object.assign({}, res, {_isValid: null}))) {\n res._d = new Date(NaN);\n }\n // todo: update offset\n /*if (res._nextDay) {\n // Adding is smart enough around DST\n res._d = add(res._d, 1, 'day');\n res._nextDay = undefined;\n }*/\n\n return res;\n}\n\nexport function prepareConfig(config: DateParsingConfig): DateParsingConfig {\n let input = config._i;\n const format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid(config, { nullInput: true });\n }\n\n if (isString(input)) {\n config._i = input = config._locale.preparse(input, format);\n }\n\n if (isDate(input)) {\n config._d = cloneDate(input);\n\n return config;\n }\n\n // todo: add check for recursion\n\n 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\nfunction configFromInput(config: DateParsingConfig): DateParsingConfig {\n const input = config._i;\n if (isUndefined(input)) {\n config._d = new Date();\n } else if (isDate(input)) {\n config._d = cloneDate(input);\n } else if (isString(input)) {\n configFromString(config);\n } else if (isArray<string | number>(input) && input.length) {\n const _arr: (string | number)[] = input.slice(0);\n config._a = _arr.map(obj => isString(obj) ? parseInt(obj, 10) : obj);\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 return createInvalid(config);\n }\n\n return config;\n}\n\nexport function createLocalOrUTC(input: DateInput, format?: string | string[], localeKey?: string, strict?: boolean, isUTC?: boolean): DateParsingConfig {\n const config: DateParsingConfig = {};\n let _input = input;\n\n // params switch -> skip; testing it well\n // if (localeKey === true || localeKey === false) {\n // strict = localeKey;\n // localeKey = undefined;\n // }\n\n // todo: fail fast and return not valid date\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 // config._isAMomentObject = true;\n config._useUTC = config._isUTC = isUTC;\n config._l = localeKey;\n config._i = _input;\n config._f = format;\n config._strict = strict;\n\n return createFromConfig(config);\n}\n","import { createLocalOrUTC } from './from-anything';\nimport { DateInput } from '../testing/chain';\nimport { isDate } from '../utils/type-checks';\n\nexport function parseDate(input: DateInput, format?: string | string[],\n localeKey?: string, strict?: boolean, isUTC?: boolean): Date {\n if (isDate(input)) {\n return input;\n }\n\n const config = createLocalOrUTC(input, format, localeKey, strict, isUTC);\n\n return config._d;\n}\n\nexport function utcAsLocal(date) {\n if (!(date instanceof Date)) {\n return null;\n }\n\n return new Date(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds()\n );\n}\n","export function absRound(num: number): number {\n return num < 0 ? Math.round(num * -1) * -1 : Math.round(num);\n}\n","import { UnitOfTime } from '../types';\nimport { endOf, startOf } from './start-end-of';\n\nexport function isAfter(\n date1?: Date,\n date2?: Date,\n units: UnitOfTime = 'milliseconds'\n): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n if (units === 'milliseconds') {\n return date1.valueOf() > date2.valueOf();\n }\n\n return date2.valueOf() < startOf(date1, units).valueOf();\n}\n\nexport function isBefore(\n date1?: Date,\n date2?: Date,\n units: UnitOfTime = 'milliseconds'\n): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n if (units === 'milliseconds') {\n return date1.valueOf() < date2.valueOf();\n }\n\n return endOf(date1, units).valueOf() < date2.valueOf();\n}\n\nexport function isDisabledDay(date?: Date, daysDisabled?: number[]): boolean {\n if (typeof daysDisabled === 'undefined' || !daysDisabled || !daysDisabled.length) {\n return false;\n }\n\n return daysDisabled.some((day: number) => day === date.getDay());\n}\n\nexport function isBetween(\n date: Date,\n from: Date,\n to: Date,\n units: UnitOfTime,\n inclusivity = '()'\n): boolean {\n const leftBound =\n inclusivity[0] === '('\n ? isAfter(date, from, units)\n : !isBefore(date, from, units);\n const rightBound =\n inclusivity[1] === ')'\n ? isBefore(date, to, units)\n : !isAfter(date, to, units);\n\n return leftBound && rightBound;\n}\n\nexport function isSame(\n date1?: Date,\n date2?: Date,\n units: UnitOfTime = 'milliseconds'\n): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n if (units === 'milliseconds') {\n return date1.valueOf() === date2.valueOf();\n }\n\n const inputMs = date2.valueOf();\n\n return (\n startOf(date1, units).valueOf() <= inputMs &&\n inputMs <= endOf(date1, units).valueOf()\n );\n}\n\nexport function isSameDay(date1: Date, date2: Date):boolean{\n return (date1.getDay() == date2.getDay());\n}\n\nexport function isSameOrAfter(\n date1: Date,\n date2: Date,\n units?: UnitOfTime\n): boolean {\n return isSame(date1, date2, units) || isAfter(date1, date2, units);\n}\n\nexport function isSameOrBefore(\n date1: Date,\n date2: Date,\n units?: UnitOfTime\n): boolean {\n return isSame(date1, date2, units) || isBefore(date1, date2, units);\n}\n","// ASP.NET json date format regex\nimport { Duration, isDuration } from './constructor';\nimport { isDateValid, isNumber, isObject, isString, toInt } from '../utils/type-checks';\nimport { DATE, HOUR, MILLISECOND, MINUTE, SECOND } from '../units/constants';\nimport { parseDate } from '../create/local';\nimport { absRound } from '../utils/abs-round';\nimport { DateObject } from '../types';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { cloneWithOffset } from '../units/offset';\nimport { isAfter, isBefore } from '../utils/date-compare';\nimport { getFullYear, getMonth } from '../utils/date-getters';\nimport { add } from '../moment/add-subtract';\nimport { cloneDate } from '../create/clone';\n\nconst 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\nconst 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\nexport type DurationInput = string | number | Duration | Partial<DateObject> | { from: Date; to: Date };\n\nexport function createDuration(input?: DurationInput, key?: string, config: DateParsingConfig = {}) {\n const duration = convertDuration(input, key);\n // matching against regexp is expensive, do it on demand\n\n return new Duration(duration, config);\n}\n\nfunction convertDuration(input: any, key: string): Partial<DateObject> {\n // checks for null or undefined\n if (input == null) {\n return {};\n }\n\n if (isDuration(input)) {\n return {\n milliseconds: input._milliseconds,\n day: input._days,\n month: input._months\n };\n }\n if (isNumber(input)) {\n // duration = {};\n return key ? { [key]: input } : { milliseconds: input };\n }\n\n if (isString(input)) {\n let match = aspNetRegex.exec(input);\n\n if (match) {\n const sign = (match[1] === '-') ? -1 : 1;\n\n return {\n year: 0,\n day: toInt(match[DATE]) * sign,\n hours: toInt(match[HOUR]) * sign,\n minutes: toInt(match[MINUTE]) * sign,\n seconds: toInt(match[SECOND]) * sign,\n // the millisecond decimal point is included in the match\n milliseconds: toInt(absRound(toInt(match[MILLISECOND]) * 1000)) * sign\n };\n }\n\n match = isoRegex.exec(input);\n if (match) {\n const sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n\n return {\n year: parseIso(match[2], sign),\n month: parseIso(match[3], sign),\n week: parseIso(match[4], sign),\n day: parseIso(match[5], sign),\n hours: parseIso(match[6], sign),\n minutes: parseIso(match[7], sign),\n seconds: parseIso(match[8], sign)\n };\n }\n\n }\n\n if (isObject<{from: any; to: any}>(input) && ('from' in input || 'to' in input)) {\n const diffRes = momentsDifference(parseDate(input.from), parseDate(input.to));\n\n return {\n milliseconds: diffRes.milliseconds,\n month: diffRes.months\n };\n }\n\n return input;\n}\n\n// createDuration.fn = Duration.prototype;\n// createDuration.invalid = invalid;\n\nfunction parseIso(inp: string, sign: number): number {\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 const res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n\n return (isNaN(res) ? 0 : res) * sign;\n}\n\nfunction positiveMomentsDifference(base: Date, other: Date): { milliseconds: number; months: number } {\n const res = { milliseconds: 0, months: 0 };\n\n res.months = getMonth(other) - getMonth(base) +\n (getFullYear(other) - getFullYear(base)) * 12;\n const _basePlus = add(cloneDate(base), res.months, 'month');\n if (isAfter(_basePlus, other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(add(cloneDate(base), res.months, 'month'));\n\n return res;\n}\n\nfunction momentsDifference(base: Date, other: Date): { milliseconds: number; months: number } {\n if (!(isDateValid(base) && isDateValid(other))) {\n return { milliseconds: 0, months: 0 };\n }\n\n let res;\n const _other = cloneWithOffset(other, base, {_offset: base.getTimezoneOffset()});\n if (isBefore(base, _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","import { createDuration } from '../duration/create';\nimport { absRound } from '../utils/abs-round';\nimport { Duration } from '../duration/constructor';\nimport { getDate, getMonth, getTime } from '../utils/date-getters';\nimport { setDate, setMonth, setTime } from '../utils/date-setters';\nimport { cloneDate } from '../create/clone';\nimport { UnitOfTime } from '../types';\n\nexport function add(date: Date, val: number, period: UnitOfTime, isUTC?: boolean): Date {\n const dur = createDuration(val, period);\n\n return addSubtract(date, dur, 1, isUTC);\n}\n\nexport function subtract(date: Date, val: number, period: UnitOfTime, isUTC?: boolean): Date {\n const dur = createDuration(val, period);\n\n return addSubtract(date, dur, -1, isUTC);\n}\n\nexport function addSubtract(date: Date, duration: Duration, isAdding: number, isUTC?: boolean): Date {\n const milliseconds = duration._milliseconds;\n const days = absRound(duration._days);\n const months = absRound(duration._months);\n\n // todo: add timezones support\n // const _updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(date, getMonth(date, isUTC) + months * isAdding, isUTC);\n }\n if (days) {\n setDate(date, getDate(date, isUTC) + days * isAdding, isUTC);\n }\n if (milliseconds) {\n setTime(date, getTime(date) + milliseconds * isAdding);\n }\n\n return cloneDate(date);\n // todo: add timezones support\n // if (_updateOffset) {\n // hooks.updateOffset(date, days || months);\n // }\n}\n","import { addFormatToken } from '../format/format';\nimport { Locale } from '../locale/locale.class';\nimport { getDay } from '../utils/date-getters';\nimport { addRegexToken, match1to2 } from '../parse/regex';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { addWeekParseToken } from '../parse/token';\nimport { getParsingFlags } from '../create/parsing-flags';\nimport { isNumber, isString, toInt } from '../utils/type-checks';\nimport { DateFormatterOptions, WeekParsing } from '../types';\nimport { DateParsingConfig } from '../create/parsing.types';\nimport { add } from '../moment/add-subtract';\nimport { getLocale } from '../locale/locales';\n\n\nexport function initDayOfWeek() {\n// FORMATTING\n\n addFormatToken('d', null, 'do',\n function(date: Date, opts: DateFormatterOptions): string {\n return getDay(date, opts.isUTC)\n .toString(10);\n }\n );\n\n addFormatToken('dd', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return opts.locale.weekdaysMin(date, opts.format, opts.isUTC);\n }\n );\n\n addFormatToken('ddd', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return opts.locale.weekdaysShort(date, opts.format, opts.isUTC);\n }\n );\n\n addFormatToken('dddd', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return opts.locale.weekdays(date, opts.format, opts.isUTC);\n }\n );\n\n addFormatToken('e', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return getLocaleDayOfWeek(date, opts.locale, opts.isUTC)\n .toString(10);\n // return getDay(date, opts.isUTC).toString(10);\n }\n );\n addFormatToken('E', null, null,\n function(date: Date, opts: DateFormatterOptions): string {\n return getISODayOfWeek(date, opts.isUTC)\n .toString(10);\n }\n );\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\n addRegexToken('dd', function(isStrict: boolean, locale: Locale): RegExp {\n return locale.weekdaysMinRegex(isStrict);\n });\n\n addRegexToken('ddd', function(isStrict: boolean, locale: Locale): RegExp {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function(isStrict: boolean, locale: Locale): RegExp {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(\n ['dd', 'ddd', 'dddd'],\n function(input: string, week: WeekParsing, config: DateParsingConfig, token) {\n const 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 return config;\n }\n );\n\n addWeekParseToken(\n ['d', 'e', 'E'],\n function(input: string, week: WeekParsing, config: DateParsingConfig, token: string): DateParsingConfig {\n week[token] = toInt(input);\n\n return config;\n }\n );\n}\n\n// HELPERS\n\nexport function parseWeekday(input: string | number, locale: Locale): number {\n if (!isString(input)) {\n return input;\n }\n\n const _num = parseInt(input, 10);\n if (!isNaN(_num)) {\n return _num;\n }\n\n const _weekDay = locale.weekdaysParse(input);\n if (isNumber(_weekDay)) {\n return _weekDay;\n }\n\n return null;\n}\n\nexport function parseIsoWeekday(input: string | number, locale: Locale = getLocale()): number {\n if (isString(input)) {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n\n return isNumber(input) && isNaN(input) ? null : input;\n}\n\n// MOMENTS\n\nexport function getSetDayOfWeek(date: Date, input: number, opts: { isUTC?: boolean; locale: Locale }): Date | number {\n if (!input) {\n return getDayOfWeek(date, opts.isUTC);\n }\n\n return setDayOfWeek(date, input, opts.locale, opts.isUTC);\n}\n\nexport function setDayOfWeek(date: Date, input: number, locale = getLocale(), isUTC?: boolean): Date {\n const day = getDay(date, isUTC);\n const _input = parseWeekday(input, locale);\n\n return add(date, _input - day, 'day');\n}\n\nexport function getDayOfWeek(date: Date, isUTC?: boolean): number {\n return getDay(date, isUTC);\n}\n\n/********************************************/\n\n// todo: utc\n// getSetLocaleDayOfWeek\nexport function getLocaleDayOfWeek(date: Date, locale = getLocale(), isUTC?: boolean): number {\n return (getDay(date, isUTC) + 7 - locale.firstDayOfWeek()) % 7;\n}\n\nexport function setLocaleDayOfWeek(date: Date, input: number, opts: { locale?: Locale; isUTC?: boolean } = {}): Date {\n const weekday = getLocaleDayOfWeek(date, opts.locale, opts.isUTC);\n\n return add(date, input - weekday, 'day');\n}\n\n\n// getSetISODayOfWeek\nexport function getISODayOfWeek(date: Date, isUTC?: boolean): number {\n return getDay(date, isUTC) || 7;\n}\n\nexport function setISODayOfWeek(date: Date, input: number | string, opts: { locale?: Locale } = {}): Date {\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 const weekday = parseIsoWeekday(input, opts.locale);\n\n return setDayOfWeek(date, getDayOfWeek(date) % 7 ? weekday : weekday - 7);\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\nimport { LocaleData } from '../locale/locale.class';\n\nconst symbolMap: {[key: string]: string} = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n};\nconst numberMap: {[key: string]: string} = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\nconst pluralForm = function (num: number): number {\n return num === 0 ? 0 : num === 1 ? 1 : num === 2 ? 2 : num % 100 >= 3 && num % 100 <= 10 ? 3 : num % 100 >= 11 ? 4 : 5;\n};\nconst plurals: {[key: string]: [string, string, [string, string], string, string, string]} = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n};\nconst pluralize = function (u: string) {\n return function (num: number, withoutSuffix: boolean): string {\n const f = pluralForm(num);\n let str = plurals[u][pluralForm(num)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return (str as string).replace(/%d/i, num.toString());\n };\n};\nconst months: string[] = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n];\n\nexport const arLocale: LocaleData = {\n abbr: 'ar',\n 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(input) {\n return 'م' === input;\n },\n meridiem(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(str: string): string {\n return str.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat(str: string) {\n return str.replace(/\\d/g, function (match) {\n return symbolMap[match];\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 1st is the first week of the year.\n }\n};\n","import { LocaleData } from '../locale/locale.class';\nimport { Khronos } from '../testing/chain';\n\n//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Iskren Ivov Chernev : https://github.com/ichernev\n//! author : Kunal Marwaha : https://github.com/marwahaha\n//! author : Matt Grande : https://github.com/mattgrande\n//! author : Isaac Cambron : https://github.com/icambron\n//! author : Venelin Manchev : https://github.com/vmanchev\n\nexport const bgLocale: LocaleData = {\n abbr: 'bg',\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\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 (d: any) {\n\n switch (d) {\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 (_num: number): string {\n\n const number = Number(_num);\n\n let lastDigit = number % 10,\n last2Digits = number % 100;\n\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 1st is the first week of the year.\n }\n};\n","import { LocaleData } from '../locale/locale.class';\nimport { getHours, getMonth } from '../utils/date-getters';\n\n//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Xavier Arbat : https://github.com/XavisaurusRex\n\nlet monthsShortDot = 'gen._feb._mar._abr._mai._jun._jul._ago._set._oct._nov._des.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_mai_jun_jul_ago_set_oct_nov_des'.split('_');\n\nlet monthsParse = [/^gen/i, /^feb/i, /^mar/i, /^abr/i, /^mai/i, /^jun/i, /^jul/i, /^ago/i, /^set/i, /^oct/i, /^nov/i, /^des/i];\nlet monthsRegex = /^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre|gen\\.?|feb\\.?|mar\\.?|abr\\.?|mai\\.?|jun\\.?|jul\\.?|ago\\.?|set\\.?|oct\\.?|nov\\.?|des\\.?)/i;\n\nexport const caLocale: LocaleData = {\n abbr: 'ca',\n months: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n monthsShort(date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsShortDot;\n }\n\n if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n\n return monthsShortDot[getMonth(date, isUTC)];\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre)/i,\n monthsShortStrictRegex: /^(gen\\.?|feb\\.?|mar\\.?|abr\\.?|mai\\.?|jun\\.?|jul\\.?|ago\\.?|set\\.?|oct\\.?|nov\\.?|des\\.?)/i,\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort: 'diu._dil._dim._dix._dij._div._dis.'.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 [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(date: Date) {\n return '[avui a ' + ('la' + (getHours(date) !== 1) ? 'les' : '') + '] LT';\n },\n nextDay(date: Date) {\n return '[dema a ' + ('la' + (getHours(date) !== 1) ? 'les' : '') + '] LT';\n },\n nextWeek(date: Date) {\n return 'dddd [a ' + ('la' + (getHours(date) !== 1) ? 'les' : '') + '] LT';\n },\n lastDay(date: Date) {\n return '[ahir a ' + ('la' + (getHours(date) !== 1) ? 'les' : '') + '] LT';\n },\n lastWeek(date: Date) {\n return '[el] dddd [' + ('passada la ' + (getHours(date) !== 1) ? 'passades les' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %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}(er|on|er|rt|é)/,\n ordinal(_num: number): string {\n const num = Number(_num);\n const output = (num > 4) ? 'é' :\n (num === 1 || num === 3) ? 'r' :\n (num === 2) ? 'n' :\n (num === 4) ? 't' : 'é';\n return num + 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","import { LocaleData } from '../locale/locale.class';\nimport { getDayOfWeek } from '../units/day-of-week';\n\n//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\nconst months: string[] = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_');\nconst monthsShort: string[] = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n\nfunction plural(num: number): boolean {\n return (num > 1) && (num < 5) && (~~(num / 10) !== 1);\n}\n\nfunction translate(num: number, withoutSuffix: boolean, key: string, isFuture: boolean): string {\n const result = num + ' ';\n\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(num) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n // break;\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(num) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n // break;\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(num) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n // break;\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(num) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n // break;\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(num) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n // break;\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(num) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n // break;\n }\n}\n\nexport const csLocale: LocaleData = {\n abbr: 'cs',\n months,\n monthsShort,\n monthsParse: (function (months, monthsShort) {\n let i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse: (function (monthsShort) {\n let i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse: (function (months) {\n let i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\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(date: Date): string {\n switch (getDayOfWeek(date)) {\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(date: Date): string {\n switch (getDayOfWeek(date)) {\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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Danish (Denmark) [da]\n//! author : Per Hansen : https://github.com/perhp\n\nexport const daLocale: LocaleData = {\n abbr: 'da',\n months : 'Januar_Februar_Marts_April_Maj_Juni_Juli_August_September_Oktober_November_December'.split('_'),\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 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","import { LocaleData } from '../locale/locale.class';\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\nfunction processRelativeTime(num: number, withoutSuffix: boolean, key: string, isFuture: boolean): string {\n const format: { [key: string]: [string, string] } = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [num + ' Tage', num + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [num + ' Monate', num + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [num + ' Jahre', num + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nexport const deLocale: LocaleData = {\n abbr: 'de',\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\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 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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\nexport const enGbLocale: LocaleData = {\n abbr: 'en-gb',\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\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 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(_num: number): string {\n const num = Number(_num);\n const b = num % 10,\n output = (~~(num % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return num + 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","import { LocaleData } from '../locale/locale.class';\nimport { getHours, getMonth } from '../utils/date-getters';\n\n//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\nlet monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nlet monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\nlet monthsRegex = /^(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\nexport const esDoLocale: LocaleData = {\n abbr: 'es-do',\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort(date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n } else {\n return monthsShortDot[getMonth(date, isUTC)];\n }\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n 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(date: Date): string {\n return '[hoy a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date: Date): string {\n return '[mañana a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date: Date): string {\n return 'dddd [a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date: Date): string {\n return '[ayer a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date: Date): string {\n return '[el] dddd [pasado a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\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 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","import { LocaleData } from '../locale/locale.class';\nimport { getHours, getMonth } from '../utils/date-getters';\n\n//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\nlet monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nlet monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\nlet monthsRegex = /^(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\nexport const esLocale: LocaleData = {\n abbr: 'es',\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort(date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsShortDot;\n }\n\n if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n\n return monthsShortDot[getMonth(date, isUTC)];\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n 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(date: Date) {\n return '[hoy a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date: Date) {\n return '[mañana a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date: Date) {\n return 'dddd [a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date: Date) {\n return '[ayer a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date: Date) {\n return '[el] dddd [pasado a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\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 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","import { LocaleData } from '../locale/locale.class';\nimport { getHours, getMonth } from '../utils/date-getters';\n\n//! moment.js locale configuration\n//! locale : Spanish (Puerto Rico) [es-pr]\n\nlet monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nlet monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nexport const esPrLocale: LocaleData = {\n abbr: 'es-pr',\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort(date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n } else {\n return monthsShortDot[getMonth(date, isUTC)];\n }\n },\n monthsParseExact: true,\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(date: Date): string {\n return '[hoy a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date: Date): string {\n return '[mañana a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date: Date): string {\n return 'dddd [a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date: Date): string {\n return '[ayer a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date: Date): string {\n return '[el] dddd [pasado a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\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 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 1st is the first week of the year.\n }\n};\n","import { LocaleData } from '../locale/locale.class';\nimport { getHours, getMonth } from '../utils/date-getters';\n\n//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n\nlet monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nlet monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nexport const esUsLocale: LocaleData = {\n abbr: 'es-us',\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort(date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n } else {\n return monthsShortDot[getMonth(date, isUTC)];\n }\n },\n monthsParseExact: true,\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: 'MMMM [de] D [de] YYYY',\n LLL: 'MMMM [de] D [de] YYYY h:mm A',\n LLLL: 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar: {\n sameDay(date: Date): string {\n return '[hoy a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date: Date): string {\n return '[mañana a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date: Date): string {\n return 'dddd [a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date: Date): string {\n return '[ayer a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date: Date): string {\n return '[el] dddd [pasado a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\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 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 1st is the first week of the year.\n }\n};\n","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Chris Gedrim : https://github.com/a90machado\n\nconst processRelativeTime = function (num: number, withoutSuffix: boolean, key: string, isFuture: boolean) {\n const format = {\n s : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [num + 'sekundi', num + 'sekundit'],\n m : ['ühe minuti', 'üks minut'],\n mm: [num + ' minuti', num + ' minutit'],\n h : ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [num + ' tunni', num + ' tundi'],\n d : ['ühe päeva', 'üks päev'],\n M : ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [num + ' kuu', num + ' kuud'],\n y : ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [num + ' aasta', num + ' 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\nexport const etLocale: LocaleData = {\n abbr: 'et',\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n// https://github.com/moment/moment/blob/develop/locale/fi.js\n\nvar numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n\nfunction translate(num: number, withoutSuffix: boolean, key: string, isFuture: boolean): string {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\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(num, isFuture) + ' ' + result;\n return result;\n}\n\nfunction verbalNumber(num: number, isFuture: boolean) {\n return num < 10 ? (isFuture ? numbersFuture[num] : numbersPast[num]) : num;\n}\n\nexport const fiLocale: LocaleData = {\n abbr: 'fi',\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\nexport const frLocale: LocaleData = {\n abbr: 'fr',\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\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|)/,\n ordinal(_num: number, period: string): string {\n const num = Number(_num);\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 num + (num === 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 num + (num === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return num + (num === 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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : French Canadian [fr-ca]\n//! author : Ali Hasan : https://github.com/alihasan00\n\nexport const frCaLocale: LocaleData = {\n abbr: 'fr-ca',\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\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(_num: number, period: string): string {\n const num = Number(_num);\n switch (period) {\n case 'D':\n return num + (num === 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 num + (num === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return num + (num === 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","import { LocaleData } from '../locale/locale.class';\nimport { getHours, getMonth } from '../utils/date-getters';\n\n//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Darío Beiró : https://github.com/quinobravo\n\nlet monthsShortDot = 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsShort = 'xan_feb_mar_abr_mai_xuñ_xul_ago_set_out_nov_dec'.split('_');\n\nlet monthsParse = [/^xan/i, /^feb/i, /^mar/i, /^abr/i, /^mai/i, /^xuñ/i, /^xul/i, /^ago/i, /^set/i, /^out/i, /^nov/i, /^dec/i];\nlet monthsRegex = /^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro|xan\\.?|feb\\.?|mar\\.?|abr\\.?|mai\\.?|xuñ\\.?|xul\\.?|ago\\.?|set\\.?|out\\.?|nov\\.?|dec\\.?)/i;\n\nexport const glLocale: LocaleData = {\n abbr: 'gl',\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort(date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsShortDot;\n }\n\n if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n\n return monthsShortDot[getMonth(date, isUTC)];\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro)/i,\n monthsShortStrictRegex: /^(xan\\.?|feb\\.?|mar\\.?|abr\\.?|mai\\.?|xuñ\\.?|xul\\.?|ago\\.?|set\\.?|out\\.?|nov\\.?|dec\\.?)/i,\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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(date: Date) {\n return '[hoxe á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date: Date) {\n return '[mañan á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date: Date) {\n return 'dddd [á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date: Date) {\n return '[onte á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date: Date) {\n return '[o] dddd [pasado á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'fai %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","import { LocaleData } from '../locale/locale.class';\n\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\nexport const heLocale: LocaleData = {\n abbr: 'he',\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\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: '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(num: number): string {\n if (num === 2) {\n return 'שעתיים';\n }\n return num + ' שעות';\n },\n d: 'יום',\n dd(num: number): string {\n if (num === 2) {\n return 'יומיים';\n }\n return num + ' ימים';\n },\n M: 'חודש',\n MM(num: number): string {\n if (num === 2) {\n return 'חודשיים';\n }\n return num + ' חודשים';\n },\n y: 'שנה',\n yy(num: number): string {\n if (num === 2) {\n return 'שנתיים';\n } else if (num % 10 === 0 && num !== 10) {\n return num + ' שנה';\n }\n return num + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM(input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem(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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\nlet symbolMap: {[key: string]: string} = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap: {[key: string]: string} = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\nexport const hiLocale: LocaleData = {\n abbr: 'hi',\n months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\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: 'कुछ ही क्षण',\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(str: string): string {\n return str.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat(str: string): string {\n return str.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(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(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 1st is the first week of the year.\n }\n};\n","import { LocaleData } from '../locale/locale.class';\nimport { getDayOfWeek } from '../units/day-of-week';\n\n//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n\nlet weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction translate(num: number, withoutSuffix: boolean, key: string, isFuture: boolean): string {\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + ((isFuture || withoutSuffix) ? ' másodperc' : ' 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}\nfunction week(date: Date, isFuture: boolean) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[getDayOfWeek(date)] + '] LT[-kor]';\n}\n\nexport const huLocale: LocaleData = {\n abbr: 'hu',\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\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 (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem (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 (date: Date) {\n return week(date, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek (date: Date) {\n return week(date, 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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Danijel Grmec : https://github.com/cobaltsis\n\nexport const hrLocale: LocaleData = {\n abbr: 'hr',\n months: 'Siječanj_Veljača_Ožujak_Travanj_Svibanj_Lipanj_Srpanj_Kolovoz_Rujan_Listopad_Studeni_Prosinac'.split('_'),\n monthsShort: 'Sij_Velj_Ožu_Tra_Svi_Lip_Srp_Kol_Ruj_Lis_Stu_Pro'.split('_'),\n weekdays: 'Nedjelja_Ponedjeljak_Utorak_Srijeda_Četvrtak_Petak_Subota'.split('_'),\n weekdaysShort: 'Ned_Pon_Uto_Sri_Čet_Pet_Sub'.split('_'),\n weekdaysMin: 'Ne_Po_Ut_Sr_Če_Pe_Su'.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: '[Danas u] LT',\n nextDay: '[Sutra u] LT',\n nextWeek: 'dddd [u] LT',\n lastDay: '[Jučer u] LT',\n lastWeek: '[Zadnji] dddd [u] LT',\n sameElse: 'L'\n },\n invalidDate: 'Neispravan datum',\n relativeTime: {\n future: 'za %s',\n past: '%s prije',\n s: 'nekoliko sekundi',\n ss: '%d sekundi',\n m: 'minuta',\n mm: '%d minuta',\n h: 'sat',\n hh: '%d sati',\n d: 'dan',\n dd: '%d dana',\n M: 'mjesec',\n MM: '%d mjeseci',\n y: 'godina',\n yy: '%d godina'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal(_num: number): string {\n const num = Number(_num);\n const b = num % 10,\n output = (~~(num % 100 / 10) === 1) ? '.' :\n (b === 1) ? '.' :\n (b === 2) ? '.' :\n (b === 3) ? '.' : '.';\n return num + 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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Indonesia [id]\n//! author : Romy Kusuma : https://github.com/rkusuma\n//! reference: https://github.com/moment/moment/blob/develop/locale/id.js\n\nexport const idLocale: LocaleData = {\n abbr: 'id',\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_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(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(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 : 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","import { LocaleData } from '../locale/locale.class';\nimport { getDayOfWeek } from '../units/day-of-week';\n\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\nexport const itLocale: LocaleData = {\n abbr: 'it',\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\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 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(date: Date) {\n switch (getDayOfWeek(date)) {\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(num: number): string {\n return ((/^[0-9].+$/).test(num.toString(10)) ? 'tra' : 'in') + ' ' + num;\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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\nexport const jaLocale: LocaleData = {\n abbr: 'ja',\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 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日 HH:mm dddd',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日 HH:mm dddd'\n },\n meridiemParse: /午前|午後/i,\n isPM (input) {\n return input === '午後';\n },\n meridiem (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 dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal (num: number, period: string): string {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return num + '日';\n default:\n return num.toString(10);\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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili\n//! author : Levan Tskipuri : https://github.com/tskipa\n\nexport const kaLocale: LocaleData = {\n abbr: 'ka',\n months : {\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_'),\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.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 : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future(s: number): string {\n var st = s.toString();\n return (/(წამი|წუთი|საათი|წელი)/).test(st) ?\n st.replace(/ი$/, 'ში') :\n st + 'ში';\n },\n past(s: number): string {\n var st = s.toString();\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(st)) {\n return st.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(st)) {\n return st.replace(/წელი$/, 'წლის წინ');\n }\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(_num: number, _period: string): string {\n const num = Number(_num);\n if (num === 0) {\n return num.toString();\n }\n if (num === 1) {\n return num + '-ლი';\n }\n if ((num < 20) || (num <= 100 && (num % 20 === 0)) || (num % 100 === 0)) {\n return 'მე-' + num;\n }\n return num + '-ე';\n },\n week : {\n dow : 1,\n doy : 4\n }\n};\n","// ! moment.js locale configuration\n// ! locale : Kazakh [kk]\n// ! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\nimport { LocaleData } from '..';\n\nconst 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\nexport const kkLocale: LocaleData = {\n abbr: 'kk',\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\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 : '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(_num: number): string {\n const a = _num % 10;\n const b = _num >= 100 ? 100 : null;\n\n return _num + (suffixes[_num] || 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","import { LocaleData } from '../locale/locale.class';\n\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\nexport const koLocale: LocaleData = {\n abbr: '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 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 (num: number, period: string): string {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return num + '일';\n case 'M':\n return num + '월';\n case 'w':\n case 'W':\n return num + '주';\n default:\n return num.toString(10);\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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Stanislavas Guk : https://github.com/ixoster\n\nconst 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};\nfunction translateSeconds(num: number, withoutSuffix: boolean, key: string, isFuture: boolean) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n}\nfunction translateSingular(num: number, withoutSuffix: boolean, key: string, isFuture: boolean) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(num: number) {\n return num % 10 === 0 || (num > 10 && num < 20);\n}\nfunction forms(key: string) {\n return (units as any)[key].split('_');\n}\nfunction translate(num: number, withoutSuffix: boolean, key: string, isFuture: boolean) {\n let result = num + ' ';\n if (num === 1) {\n return result + translateSingular(num, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(num) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(num) ? forms(key)[1] : forms(key)[2]);\n }\n }\n}\n\nexport const ltLocale: LocaleData = {\n abbr: '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 standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\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 standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\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(num) {\n return num + '-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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Matiss Janis Aboltins : https://github.com/matissjanis\n\nexport const lvLocale: LocaleData = {\n abbr: 'lv',\n months : 'Janvāris_Februāris_Marts_Aprīlis_Maijs_Jūnijs_Jūlijs_Augusts_Septembris_Oktobris_Novembris_Decembris'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mai_Jūn_Jūl_Aug_Sep_Okt_Nov_Dec'.split('_'),\n weekdays : 'Svētdiena_Pirmdiena_Otrdiena_Trešdiena_Ceturtdiena_Piektdiena_Sestdiena'.split('_'),\n weekdaysShort : 'Svētd_Pirmd_Otrd_Trešd_Ceturtd_Piektd_Sestd'.split('_'),\n weekdaysMin : 'Sv_Pi_Ot_Tr_Ce_Pk_Se'.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 : 'pēc %s',\n past : 'pirms %s',\n s : 'dažām sekundēm',\n ss : '%d sekundēm',\n m : 'minūtes',\n mm : '%d minūtēm',\n h : 'stundas',\n hh : '%d stundām',\n d : 'dienas',\n dd : '%d dienām',\n M : 'mēneša',\n MM : '%d mēnešiem',\n y : 'gada',\n yy : '%d gadiem'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal(num) {\n return 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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\nfunction translate(num: number, withoutSuffix: boolean, key: string, isFuture: boolean) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return num + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return num + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return num + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return num + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return num + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return num + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return num.toString(10);\n }\n}\n\nexport const mnLocale: LocaleData = {\n abbr: 'mn',\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\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 (num: number, period: string): string {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return num + ' өдөр';\n default:\n return num.toString(10);\n }\n }\n};\n","import { LocaleData } from '../locale/locale.class';\n\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\nexport const nbLocale: LocaleData = {\n abbr: 'nb',\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_april_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: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n M: 'en 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","import { LocaleData } from '../locale/locale.class';\nimport { getMonth } from '../utils/date-getters';\n\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\nlet monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\nlet monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nlet monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nlet monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nexport const nlBeLocale: LocaleData = {\n abbr: 'nl-be',\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort(date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[getMonth(date, isUTC)];\n } else {\n return monthsShortWithDots[getMonth(date, isUTC)];\n }\n },\n\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays: '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(_num: number): string {\n const num = Number(_num);\n return num + ((num === 1 || num === 8 || num >= 20) ? 'ste' : 'de');\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","import { LocaleData } from '../locale/locale.class';\nimport { getMonth } from '../utils/date-getters';\n\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\nlet monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nlet monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nlet monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nexport const nlLocale: LocaleData = {\n abbr: 'nl',\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort (date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[getMonth(date, isUTC)];\n } else {\n return monthsShortWithDots[getMonth(date, isUTC)];\n }\n },\n\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : '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 (_num: number): string {\n const num = Number(_num);\n return num + ((num === 1 || num === 8 || num >= 20) ? 'ste' : 'de');\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","import { LocaleData } from '../locale/locale.class';\nimport { getMonth } from '../utils/date-getters';\nimport { getDayOfWeek } from '../units/day-of-week';\n\n//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\nlet monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_');\nlet monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n\nfunction plural(num: number): boolean {\n return (num % 10 < 5) && (num % 10 > 1) && ((~~(num / 10) % 10) !== 1);\n}\n\nfunction translate(num: number, withoutSuffix: boolean, key: string): string {\n let result = num + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(num) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(num) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(num) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(num) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(num) ? 'lata' : 'lat');\n }\n}\n\nexport const plLocale: LocaleData = {\n abbr: 'pl',\n months(date: Date, format: string, isUTC?: boolean): string | string[] {\n if (!date) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[getMonth(date, isUTC)] + '|' + monthsNominative[getMonth(date, isUTC)] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[getMonth(date, isUTC)];\n } else {\n return monthsNominative[getMonth(date, isUTC)];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays: '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(date: Date): string {\n switch (getDayOfWeek(date)) {\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 5:\n return '[W piątek 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(date: Date): string {\n switch (getDayOfWeek(date)) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 4:\n return '[W zeszłą czwartek o] LT';\n case 5:\n return '[W zeszłą piątek 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 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","import { LocaleData } from '../locale/locale.class';\nimport { getDayOfWeek } from '../units/day-of-week';\n\n//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\nexport const ptBrLocale: LocaleData = {\n abbr: 'pt-br',\n months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\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(date: Date) {\n return (getDayOfWeek(date) === 0 || getDayOfWeek(date) === 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: '%s atrá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};\n","import { LocaleData } from '../locale/locale.class';\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 : Earle white: https://github.com/5earle\n\nfunction relativeTimeWithPlural(num: number, withoutSuffix: boolean, key: string): string {\n let format: {[key:string]: string} = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n MM: 'luni',\n yy: 'ani'\n };\n\n let separator = ' ';\n if (num % 100 >= 20 || (num >= 100 && num % 100 === 0)) {\n separator = ' de ';\n }\n return num + separator + format[key];\n}\n\n\nexport const roLocale: LocaleData = {\n abbr: 'ro',\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort: 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\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 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 1st is the first week of the year.\n }\n};\n","import { LocaleData } from '../locale/locale.class';\nimport { getWeek } from '../units/week';\nimport { getDayOfWeek } from '../units/day-of-week';\n\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\nfunction plural(word: string, num: number): string {\n let forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\n\nfunction relativeTimeWithPlural(num: number, withoutSuffix: boolean, key: string): string {\n let format: {[key: string]: string} = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n return num + ' ' + plural(format[key], +num);\n}\n\nlet monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\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\nexport const ruLocale: LocaleData = {\n abbr: 'ru',\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/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(date: Date, now: Date) {\n if (getWeek(now) !== getWeek(date)) {\n switch (getDayOfWeek(date)) {\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 (getDayOfWeek(date) === 2) {\n return '[Во] dddd [в] LT';\n } else {\n return '[В] dddd [в] LT';\n }\n }\n },\n lastWeek(date: Date, now: Date) {\n if (getWeek(now) !== getWeek(date)) {\n switch (getDayOfWeek(date)) {\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 (getDayOfWeek(date) === 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 M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM(input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem(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(_num: number, period: string): string {\n const num = Number(_num);\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return num + '-й';\n case 'D':\n return num + '-го';\n case 'w':\n case 'W':\n return num + '-я';\n default:\n return num.toString(10);\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","import { LocaleData } from '../locale/locale.class';\nimport { getDayOfWeek } from '../units/day-of-week';\n\n//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Jozef Pažin : https://github.com/atiris\n\nconst months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_');\nconst monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n\nfunction plural(num: number): boolean {\n return (num > 1) && (num < 5) && (~~(num / 10) !== 1);\n}\n\nfunction translate(num: number, withoutSuffix: boolean, key: string, isFuture: boolean): string {\n const result = num + ' ';\n\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(num) ? 'sekundy' : 'sekúnd');\n }\n else {\n return result + 'sekundami';\n }\n // break;\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(num) ? 'minúty' : 'minút');\n }\n else {\n return result + 'minútami';\n }\n // break;\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(num) ? 'hodiny' : 'hodín');\n }\n else {\n return result + 'hodinami';\n }\n // break;\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(num) ? 'dni' : 'dní');\n }\n else {\n return result + 'dňami';\n }\n // break;\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(num) ? 'mesiace' : 'mesiacov');\n }\n else {\n return result + 'mesiacmi';\n }\n // break;\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(num) ? 'roky' : 'rokov');\n }\n else {\n return result + 'rokmi';\n }\n // break;\n }\n}\n\nexport const skLocale: LocaleData = {\n abbr: 'sk',\n months,\n 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 l: 'D. M. YYYY'\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek(date: Date): string {\n switch (getDayOfWeek(date)) {\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(date: Date): string {\n switch (getDayOfWeek(date)) {\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: 'o %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","import { LocaleData } from '../locale/locale.class';\nimport { getDayOfWeek } from '../units/day-of-week';\n\n//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : mihan : https://github.com/mihan\n\nfunction processRelativeTime(number: number, withoutSuffix: boolean, key: string, isFuture: boolean): string {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : '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 += withoutSuffix || isFuture ? 'sekund' : '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\nexport const slLocale: LocaleData = {\n abbr: 'sl',\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\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(date: Date) {\n switch (getDayOfWeek(date)) {\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(date: Date) {\n switch (getDayOfWeek(date)) {\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 1st is the first week of the year.\n }\n};\n","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Agon Cecelia : https://github.com/agoncecelia\n\nexport const sqLocale: LocaleData = {\n abbr: 'sq',\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\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 weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'Di_He_Ma_Me_En_Pr_Sh'.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 : '[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 : 'para %sve',\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}\\./, // need clarification\n ordinal : '%d.', // need clarification\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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\nexport const svLocale: LocaleData = {\n abbr: 'sv',\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\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(_num: number): string {\n const num = Number(_num);\n let b = num % 10,\n output = (~~(num % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return num + 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","// moment.js locale configuration\n// locale : Thai [th]\n// author : Watcharapol Sanitwong : https://github.com/tumit\n\nimport { LocaleData } from '../locale/locale.class';\n\nexport const thLocale: LocaleData = {\n abbr: 'th',\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\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(input) {\n return input === 'หลังเที่ยง';\n },\n meridiem(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};\n","// moment.js locale configuration\n// locale : Thai-Buddhist Era [th-be]\n// author : Watcharapol Sanitwong : https://github.com/tumit\n\nimport { LocaleData } from '../locale/locale.class';\n\nexport const thBeLocale: LocaleData = {\n abbr: 'th-be',\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.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: '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(input) {\n return input === 'หลังเที่ยง';\n },\n meridiem(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\n preparse(str: string, format?: string): string {\n\n const _format = thBeLocale.longDateFormat[format]\n ? thBeLocale.longDateFormat[format]\n : format;\n\n // endsWith('YYYY')\n if (_format.indexOf('YYYY', _format.length - 'YYYY'.length) !== -1 ) {\n const ddMM = str.substr(0, str.length - 4);\n const yyyy = parseInt(str.substr(str.length - 4), 10) - 543;\n return ddMM + yyyy;\n }\n\n return str;\n },\n\n getFullYear(date: Date, isUTC = false): number {\n return 543 + (isUTC ? date.getUTCFullYear() : date.getFullYear());\n }\n};\n","import { LocaleData } from '../locale/locale.class';\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\nlet suffixes: { [key: string]: string } = {\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\nexport const trLocale: LocaleData = {\n abbr: 'tr',\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\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 weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.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 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 M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,\n ordinal(_num: number): string {\n const num = Number(_num);\n if (num === 0) { // special case for zero\n return num + '\\'ıncı';\n }\n let a = num % 10,\n b = num % 100 - a,\n c = num >= 100 ? 100 : null;\n return num + (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 1st is the first week of the year.\n }\n};\n","import { LocaleData } from '../locale/locale.class';\nimport { getHours } from '../utils/date-getters';\nimport { getDayOfWeek } from '../units/day-of-week';\n\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\nfunction plural(word, num) {\n let forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\n\nfunction relativeTimeWithPlural(num: number, withoutSuffix, key): string {\n let format: { [key: string]: string } = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n\n if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n return num + ' ' + plural(format[key], +num);\n}\n\nfunction weekdaysCaseReplace(date: Date, format: string, isUTC?: boolean): string | string[] {\n let weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!date) {\n return weekdays.nominative;\n }\n\n let nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][getDayOfWeek(date, isUTC)];\n}\n\nfunction processHoursFunction(str: string) {\n return function (date: Date): string {\n return str + 'о' + (getHours(date) === 11 ? 'б' : '') + '] LT';\n };\n}\n\nexport const ukLocale: LocaleData = {\n abbr: 'uk',\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\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(date: Date) {\n switch (getDayOfWeek(date)) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [')(date);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [')(date);\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(input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem(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(_num: number, period: string): string {\n const num = Number(_num);\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return num + '-й';\n case 'D':\n return num + '-го';\n default:\n return num.toString();\n }\n },\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","import { LocaleData } from '../locale/locale.class';\n\n//! moment.js locale configuration\n//! locale : Việt Nam [vi]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\nexport const viLocale: LocaleData = {\n abbr: '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 monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\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 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(input: string): boolean {\n return /^ch$/i.test(input);\n },\n meridiem(hours: number, minutes: number, isLower: boolean): string {\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 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(_num: number): string {\n return '' + _num;\n },\n week : {\n dow : 1, // Thứ Hai là ngày đầu tuần.\n doy : 4 // Tuần chứa ngày 4 tháng 1 là tuần đầu tiên trong năm.\n }\n};\n\n","import { LocaleData } from '../locale/locale.class';\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\nexport const zhCnLocale: LocaleData = {\n abbr: 'zh-cn',\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\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(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n 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(hour, minute, isLower) {\n let 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: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal(_num: number, period) {\n const num = Number(_num);\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return num + '日';\n case 'M':\n return num + '月';\n case 'w':\n case 'W':\n return num + '周';\n default:\n return num.toString();\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 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","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Meysam Bahadori: https://github.com/MeysamBahadori\n\nimport { LocaleData } from '../locale/locale.class';\n\nconst symbolMap: {[key: string]: string} = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n };\n\nconst numberMap: {[key: string]: string} = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\n\nconst pluralForm = function (num: number): number {\n return num === 0 ? 0 : num === 1 ? 1 : num === 2 ? 2 : num % 100 >= 3 && num % 100 <= 10 ? 3 : num % 100 >= 11 ? 4 : 5;\n };\n \nvar plurals : {[key: string]: [string, string, [string, string], string, string, string]} = {\n s: ['کمتر از یک ثانیه', 'یک ثانیه', ['دو ثانیه', 'دو ثانیه'], '%d ثانیه', '%d ثانیه', '%d ثانیه'],\n m: ['کمتر از یک دقیقه', 'یک دقیقه', ['دو دقیقه', 'دو دقیقه'], '%d دقیقه', '%d دقیقه', '%d دقیقه'],\n h: ['کمتر از یک ساعت', 'یک ساعت', ['دو ساعت', 'دو ساعت'], '%d ساعت', '%d ساعت', '%d ساعت'],\n d: ['کمتر از یک روز', 'یک روز', ['دو روز', 'دو روز'], '%d روز', '%d روز', '%d روز'],\n M: ['کمتر از یک ماه', 'یک ماه', ['دو ماه', 'دو ماه'], '%d ماه', '%d ماه', '%d ماه'],\n y: ['کمتر از یک سال', 'یک سال', ['دو سال', 'دو سال'], '%d سال', '%d سال', '%d سال']\n};\n\nconst pluralize = function (u: string) {\n return function (num: number, withoutSuffix: boolean): string {\n const f = pluralForm(num);\n let str = plurals[u][pluralForm(num)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n \n return (str as string).replace(/%d/i, num.toString());\n };\n };\n\n const months: string[] = [\n 'ژانویه',\n 'فوریه',\n 'مارس',\n 'آوریل',\n 'می',\n 'ژوئن',\n 'جولای',\n 'آگوست',\n 'سپتامبر',\n 'اکتبر',\n 'نوامبر',\n 'دسامبر'\n];\n\nexport const faLocale: LocaleData = {\n abbr: 'fa',\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(input) {\n return 'م' === input;\n },\n meridiem(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(str: string): string {\n return str.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat(str: string) {\n return str.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 80 // The week that contains March 21th is the first week of the year.\n }\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["daysInMonth","isSameDay","symbolMap","numberMap","pluralForm","plurals","pluralize","months","monthsShortDot","monthsShort","monthsParse","monthsRegex","plural","translate","processRelativeTime","suffixes","monthsShortWithDots","monthsShortWithoutDots","relativeTimeWithPlural"],"mappings":"AAEgB,SAAA,GAAG,CAAC,CAAS,EAAE,CAAS,EAAA;IACtC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AACxB;AAEM,SAAU,QAAQ,CAAC,GAAW,EAAA;IAClC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD;;ACNM,SAAU,QAAQ,CAAC,GAAQ,EAAA;AAC/B,IAAA,OAAO,OAAO,GAAG,KAAK,QAAQ;AAChC;AAEM,SAAU,MAAM,CAAC,KAAU,EAAA;AAC/B,IAAA,OAAO,KAAK,YAAY,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,eAAe;AAC3F;AAEM,SAAU,SAAS,CAAC,KAAU,EAAA;AAClC,IAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK;AAC1C;AAEM,SAAU,WAAW,CAAC,IAAU,EAAA;AACpC,IAAA,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACvD;AAEA;AACM,SAAU,UAAU,CAAC,EAAO,EAAA;IAChC,QACE,EAAE,YAAY,QAAQ;AACtB,QAAA,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,mBAAmB;AAE9D;AAEM,SAAU,QAAQ,CAAC,KAAW,EAAA;AAClC,IAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB;AACjG;AAEM,SAAU,OAAO,CAAI,KAAW,EAAA;IACpC,QACE,KAAK,YAAY,KAAK;AACtB,QAAA,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,gBAAgB;AAE9D;SAEgB,UAAU,CAAI,CAAI,aAAa,CAAS,EAAA;AACtD,IAAA,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACnD;AAEgB,SAAA,QAAQ,CAAI,KAAU,aAAW;;;AAG/C,IAAA,QACE,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB;AAEhF;AAEM,SAAU,aAAa,CAAC,GAAQ,EAAA;AACpC,IAAA,IAAI,MAAM,CAAC,mBAAmB,EAAE;AAC9B,QAAA,QAAQ,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;;AAEtD,IAAA,IAAI,CAAC;AACL,IAAA,KAAK,CAAC,IAAI,GAAG,EAAE;;AAEb,QAAA,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;AACzB,YAAA,OAAO,KAAK;;;AAIhB,IAAA,OAAO,IAAI;AACb;AAGM,SAAU,WAAW,CAAC,KAAU,EAAA;AACpC,IAAA,OAAO,KAAK,KAAK,KAAK,CAAC;AACzB;AAEM,SAAU,KAAK,CAAI,mBAAwC,EAAA;AAC/D,IAAA,MAAM,aAAa,GAAG,CAAC,mBAAmB;IAC1C,IAAI,KAAK,GAAG,CAAC;IAEb,IAAI,aAAa,KAAK,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE;AAClD,QAAA,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;;AAGjC,IAAA,OAAO,KAAK;AACd;;AC3EA,MAAM,OAAO,GAA8B,EAAE;AAK7C,MAAM,SAAS,GAAkC;AAC/C,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,WAAW,EAAE;CACd;AAEe,SAAA,YAAY,CAAC,IAAwB,EAAE,SAAiB,EAAA;AACtE,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;IACpC,IAAI,KAAK,GAAG,IAAI;AAChB,IAAA,IAAI,SAAS,IAAI,SAAS,EAAE;AAC1B,QAAA,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC;;AAE9B,IAAA,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAG,EAAA,SAAS,CAAG,CAAA,CAAA,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK;AAC5E;AAEM,SAAU,cAAc,CAAC,KAAwB,EAAA;IACrD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS;AACrF;AAEM,SAAU,oBAAoB,CAAC,WAAoC,EAAA;IACvE,MAAM,eAAe,GAA4B,EAAE;AACnD,IAAA,IAAI,cAAc;AAClB,IAAA,IAAI,IAAI;AAER,IAAA,KAAK,IAAI,IAAI,WAAW,EAAE;AACxB,QAAA,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;AACjC,YAAA,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;YACrC,IAAI,cAAc,EAAE;gBAClB,eAAe,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;;;;AAKzD,IAAA,OAAO,eAAe;AACxB;;AC5CA;AACO,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,KAAK,GAAG,CAAC;AACf,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,MAAM,GAAG,CAAC;AAChB,MAAM,MAAM,GAAG,CAAC;AAChB,MAAM,WAAW,GAAG,CAAC;AACrB,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,OAAO,GAAG,CAAC;;SCTR,QAAQ,CAAC,GAAW,EACX,YAAoB,EACpB,SAAmB,EAAA;IAC1C,MAAM,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA,CAAE;AACpC,IAAA,MAAM,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC,MAAM;AACnD,IAAA,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC;IACrB,MAAM,KAAK,GAAG,IAAI,IAAI,SAAS,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG;;IAEjD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1E,IAAA,QAAQ,KAAK,GAAG,MAAM,GAAG,SAAS;AACpC;;ACNO,MAAM,eAAe,GAExB,EAAE;AACC,MAAM,oBAAoB,GAAuC,EAAE;AAEnE,MAAM,gBAAgB,GAAG,sLAAsL;AAEtN;AACA;AACA;AACA;AACM,SAAU,cAAc,CAAC,KAAa,EACb,MAAiC,EACjC,OAAe,EACf,QAAyB,EAAA;IAEtD,IAAI,KAAK,EAAE;AACT,QAAA,oBAAoB,CAAC,KAAK,CAAC,GAAG,QAAQ;;IAGxC,IAAI,MAAM,EAAE;AACV,QAAA,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,YAAA;YAChC,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACxE,SAAC;;IAGH,IAAI,OAAO,EAAE;AACX,QAAA,oBAAoB,CAAC,OAAO,CAAC,GAAG,UAAU,IAAU,EAAE,IAA0B,EAAA;AAC9E,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC;AACpE,SAAC;;AAEL;AAEM,SAAU,kBAAkB,CAAC,MAAc,EAAA;IAG/C,MAAM,KAAK,GAAa,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;AACtD,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;AAE3B,IAAA,MAAM,SAAS,GAAiC,IAAI,KAAK,CAAC,MAAM,CAAC;AAEjE,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,SAAS,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,cAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;cAC7B,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;IAGtC,OAAO,UAAU,IAAU,EAAE,MAAc,EAAE,KAAc,EAAE,MAAM,GAAG,CAAC,EAAA;QAErE,IAAI,MAAM,GAAG,EAAE;AACf,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,YAAA,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;kBAC5B,SAAS,CAAC,CAAC,CAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC;AACpF,kBAAE,SAAS,CAAC,CAAC,CAAC;;AAGlB,QAAA,OAAO,MAAM;AACf,KAAC;AACH;AAEA,SAAS,sBAAsB,CAAC,KAAa,EAAA;AAC3C,IAAA,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;;IAGtC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACjC;;ACvEA;SACgB,aAAa,CAAC,CAAU,EAAE,CAAU,EAAE,CAAU,EAAA;;AAE9D,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;;AAGtD,IAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE;AACxD,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;;AAGxB,IAAA,OAAO,IAAI;AACb;AAEM,SAAU,UAAU,CAAC,CAAU,EACV,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,EAAE,GAAG,CAAC,EAAA;AAC/B,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;AAG3C,IAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;AACrD,QAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;;AAGrB,IAAA,OAAO,IAAI;AACb;;SC1BgB,QAAQ,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AAChD,IAAA,OAAO,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;AACrD;SAEgB,UAAU,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AAClD,IAAA,OAAO,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;AACzD;SAEgB,UAAU,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AAClD,IAAA,OAAO,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;AACzD;SAEgB,eAAe,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AACvD,IAAA,OAAO,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE;AACnE;AACM,SAAU,OAAO,CAAC,IAAU,EAAA;AAChC,IAAA,OAAO,IAAI,CAAC,OAAO,EAAE;AACvB;SAEgB,MAAM,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AAC9C,IAAA,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;AACjD;SAEgB,OAAO,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AAC/C,IAAA,OAAO,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;AACnD;SAEgB,QAAQ,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AAChD,IAAA,OAAO,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;AACrD;SAEgB,WAAW,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AACnD,IAAA,OAAO,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;AAC3D;AAEM,SAAU,WAAW,CAAC,IAAU,EAAA;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAC1C;AAEM,SAAU,IAAI,CAAC,IAAU,EAAA;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAC1C;AAEM,SAAU,kBAAkB,CAAC,IAAU,EAAA;AAC3C,IAAA,OAAO,UAAU,CACf,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,QAAQ,EAAE,EACf,CAAC,EACD,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,UAAU,EAAE,CAClB;AACH;AAEM,SAAUA,aAAW,CAAC,IAAU,EAAA;AACpC,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC1D;AAEgB,SAAA,YAAY,CAAC,IAAY,EAAE,KAAa,EAAA;AACtD,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;AAC5D;AAEgB,SAAA,gBAAgB,CAAC,IAAU,EAAE,cAAuB,EAAA;IAClE,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,MAAM,CAAC,cAAc,CAAC;AACjD;AAEgB,SAAA,WAAW,CAAC,KAAY,EAAE,KAAY,EAAA;AACpD,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,QAAA,OAAO,KAAK;;AAGd,IAAA,OAAO,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC;AACxE;AAEgB,SAAA,UAAU,CAAC,KAAY,EAAE,KAAY,EAAA;AACnD,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,QAAA,OAAO,KAAK;;IAGd,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC;AAClD;AAEgB,SAAAC,WAAS,CAAC,KAAY,EAAE,KAAY,EAAA;AAClD,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,QAAA,OAAO,KAAK;;AAGd,IAAA,QACE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;AACxB,QAAA,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC;AAErC;;AC3FO,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,OAAO,CAAC;AACvB,MAAM,MAAM,GAAG,OAAO,CAAC;AACvB,MAAM,MAAM,GAAG,YAAY,CAAC;AAC5B,MAAM,SAAS,GAAG,OAAO,CAAC;AAC1B,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,WAAW,GAAG,UAAU,CAAC;AAE/B,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAErD;AACA;AACO,MAAM,SAAS,GAAG,0IAA0I;AAGnK,MAAM,OAAO,GAAmC,EAAE;SAGlC,aAAa,CAAC,KAAa,EAAE,KAA6B,EAAE,WAAoB,EAAA;AAC9F,IAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACrB,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK;QAEtB;;AAGF,IAAA,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,QAAiB,EAAE,MAAc,EAAA;AAC1D,QAAA,OAAO,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,GAAG,KAAK;AACxD,KAAC;AACH;AAEgB,SAAA,qBAAqB,CAAC,KAAa,EAAE,MAAc,EAAA;IACjE,MAAM,OAAO,GAAG,KAAK;IACrB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QAC/B,OAAO,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;;IAG1C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;AACxC;AAEA;AACA,SAAS,cAAc,CAAC,GAAW,EAAA;IACjC,OAAO,WAAW,CAAC;AAChB,SAAA,OAAO,CAAC,IAAI,EAAE,EAAE;SAChB,OAAO,CAAC,qCAAqC,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CACnG;AACH;AAEM,SAAU,WAAW,CAAC,GAAW,EAAA;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC;AACtD;;AC1DA,MAAM,MAAM,GAAsC,EAAE;AAEpC,SAAA,aAAa,CAAC,KAAwB,EAAE,QAAmC,EAAA;AACzF,IAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK;IAChD,IAAI,IAAI,GAAG,QAAQ;AAEnB,IAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACtB,QAAA,IAAI,GAAG,UAAU,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;YACzE,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AAE9B,YAAA,OAAO,MAAM;AACf,SAAC;;IAGH,IAAI,OAAO,CAAS,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AAC/C,QAAA,IAAI,CAAC;AACL,QAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;;;AAG9B;AAEgB,SAAA,iBAAiB,CAAC,KAAe,EAAE,QAA0B,EAAA;IAC3E,aAAa,CAAC,KAAK,EAAE,UAAU,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAE,MAAc,EAAA;QACvG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE;AAE3B,QAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC;AACnD,KAAC,CAAC;AACJ;SAGgB,uBAAuB,CAAC,KAAa,EAAE,KAAa,EAAE,MAAyB,EAAA;IAC7F,IAAI,KAAK,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;AAC9C,QAAA,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC;;AAGhD,IAAA,OAAO,MAAM;AACf;;ACzCA,MAAM,UAAU,GAA4B,EAAE;AAE9B,SAAA,eAAe,CAAC,IAAY,EAAE,QAAgB,EAAA;AAC5D,IAAA,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ;AAC7B;AAEA;;;;;;;;;;;;;;;AAeE;;SCTc,cAAc,GAAA;;AAG5B,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aAC5B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;;AAID,IAAA,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;;AAGzB,IAAA,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;;AAI1B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,IAAI,EAAE,UAAS,QAAQ,EAAE,MAAM,EAAA;AAC3C,QAAA,OAAO,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,aAAa;AAC/D,KAAC,CAAC;IAEF,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAChC,aAAa,CACX,IAAI,EACJ,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACjE,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,QAAA,OAAO,MAAM;AACf,KAAC,CACF;AACH;;AC5CA,SAAS,mBAAmB,GAAA;;IAE1B,OAAO;AACL,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,CAAC,CAAC;AACZ,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,GAAG,EAAE,KAAK;AACV,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,eAAe,EAAE;KAClB;AACH;AAEM,SAAU,eAAe,CAAC,MAAyB,EAAA;AACvD,IAAA,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;AACtB,QAAA,MAAM,CAAC,GAAG,GAAG,mBAAmB,EAAE;;IAGpC,OAAO,MAAM,CAAC,GAAG;AACnB;;AClBA;AAEA,SAAS,OAAO,CAAC,IAAU,EAAE,IAA0B,EAAA;AACrD,IAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AAC3B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;;IAE7D,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;AACjD;SAEgB,QAAQ,GAAA;IACtB,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAC5B,UAAU,IAAU,EAAE,IAA0B,EAAA;QAChD,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;AAEvC,QAAA,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAI,CAAA,EAAA,CAAC,EAAE;AAC7C,KAAC,CAAC;AAEF,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACzC,UAAU,IAAU,EAAE,IAA0B,EAAA;AAChD,QAAA,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC3D,KAAC,CAAC;AAEF,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;AACvD,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;AACxD,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;;AAIxD,IAAA,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;;AAIzB,IAAA,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;;AAI1B,IAAA,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC;AAC/B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;AACxC,IAAA,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;AACzC,IAAA,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;IAE1C,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;IACxC,aAAa,CAAC,MAAM,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE,MAAM,EAAA;QAClD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AAE1E,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;IACF,aAAa,CAAC,IAAI,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE,MAAM,EAAA;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAEtC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;IACF,aAAa,CAAC,GAAG,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE,MAAM,EAAA;QAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;AAEjC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AACJ;AAEM,SAAU,iBAAiB,CAAC,KAAa,EAAA;IAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACzD;AAEM,SAAU,UAAU,CAAC,IAAY,EAAA;AACrC,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;AACrC;AAEM,SAAU,UAAU,CAAC,IAAY,EAAA;AACrC,IAAA,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC;AACjE;;AClEA;AACgB,SAAA,WAAW,CAAC,IAAY,EAAE,KAAa,EAAA;IACrD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;AAC/B,QAAA,OAAO,GAAG;;IAEZ,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,QAAQ,IAAI,EAAE;IAE5C,OAAO,QAAQ,KAAK;AAClB,UAAE,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG;WACxB,EAAE,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7B;SAEgB,SAAS,GAAA;;AAGvB,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AACtD,KAAC,CACF;IAED,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAC9B,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;AAC/D,KAAC,CACF;IAED,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAC/B,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;AAC1D,KAAC,CACF;;AAKD,IAAA,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;;AAI1B,IAAA,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;;AAI3B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,KAAK,EAAE,UAAS,QAAQ,EAAE,MAAM,EAAA;AAC5C,QAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC1C,KAAC,CAAC;AACF,IAAA,aAAa,CAAC,MAAM,EAAE,UAAS,QAAQ,EAAE,MAAM,EAAA;AAC7C,QAAA,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;AACrC,KAAC,CAAC;AAEF,IAAA,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;QAC5F,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAE/B,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AAEF,IAAA,aAAa,CACX,CAAC,KAAK,EAAE,MAAM,CAAC,EACf,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAE,KAAa,EAAA;AAChF,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;;AAEtE,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,YAAA,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;;aACf;YACL,eAAe,CAAC,MAAM,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK;;AAGhD,QAAA,OAAO,MAAM;AACf,KAAC,CACF;AACH;;ACjFA,MAAM,eAAe,GAAa;AAChC,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,OAAO,EAAE;CACV;AAEe,SAAA,SAAS,CAAC,IAAU,EAAE,IAAc,EAAA;AAClD,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC;AACtD,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;AACnD,IAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AAClD,IAAA,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;AAC7B,QAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;IAG/C,OAAO,UAAU,CACf,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,EACnC,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EACvC,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CACzC;AACH;AAEgB,SAAA,WAAW,CAAC,IAAU,EAAE,IAAc,EAAA;AACpD,IAAA,OAAO,UAAU,CACf,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EACnC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAClC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EACtC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EACvC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAClD;AACH;AAEA,SAAS,MAAM,CAAC,GAAW,EAAE,GAAY,EAAA;AACvC,IAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;AAClC;SAEgB,WAAW,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;IACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;IAClC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;AACtC,IAAA,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE;QACrD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;QAC/C,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC;;AAG1G,IAAA,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAE5D,IAAA,OAAO,IAAI;AACb;SAEgB,QAAQ,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjF,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;AAE9E,IAAA,OAAO,IAAI;AACb;SAEgB,MAAM,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;AAC/D,IAAA,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAEpD,IAAA,OAAO,IAAI;AACb;SAEgB,QAAQ,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;AACjE,IAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEtD,IAAA,OAAO,IAAI;AACb;SAEgB,UAAU,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;AACnE,IAAA,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAE1D,IAAA,OAAO,IAAI;AACb;SAEgB,UAAU,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;AACnE,IAAA,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAE1D,IAAA,OAAO,IAAI;AACb;SAEgB,eAAe,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;AACxE,IAAA,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAEpE,IAAA,OAAO,IAAI;AACb;SAEgB,OAAO,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;AAChE,IAAA,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAEpD,IAAA,OAAO,IAAI;AACb;AAEgB,SAAA,OAAO,CAAC,IAAU,EAAE,KAAa,EAAA;AAC/C,IAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAEnB,IAAA,OAAO,IAAI;AACb;;AChHA;AACA;AACM,SAAU,SAAS,CAAC,IAAU,EAAA;IAClC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACjC;;SCMgB,OAAO,CAAC,IAAU,EAAE,IAAgB,EAAE,KAAe,EAAA;AACnE,IAAA,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC;;;IAG7B,QAAQ,IAAI;AACV,QAAA,KAAK,MAAM;AACT,YAAA,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;;AAE3B,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;;AAE1B,QAAA,KAAK,MAAM;AACX,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,MAAM;AACT,YAAA,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;;AAE3B,QAAA,KAAK,OAAO;AACV,YAAA,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;;AAE7B,QAAA,KAAK,SAAS;AACZ,YAAA,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;;AAE7B,QAAA,KAAK,SAAS;AACZ,YAAA,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;;;AAIpC,IAAA,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAC,KAAK,EAAC,CAAC;;AAEvC,IAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,QAAA,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;;;AAI3B,IAAA,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;;AAGpE,IAAA,OAAO,KAAK;AACd;SAEgB,KAAK,CAAC,IAAU,EAAE,IAAgB,EAAE,KAAe,EAAA;IACjE,IAAI,KAAK,GAAG,IAAI;;AAEhB,IAAA,IAAI,KAAK,KAAK,MAAM,EAAE;QACpB,KAAK,GAAG,KAAK;;IAGf,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,SAAS,GAAG,MAAM,GAAG,KAAK,EAAE,KAAK,CAAC;AACxE,IAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC;AAErD,IAAA,OAAO,GAAG;AACZ;;SCtDgB,aAAa,GAAA;;AAG3B,IAAA,cAAc,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAC9C,UAAS,IAAU,EAAA;QACjB,OAAO,YAAY,CAAC,IAAI;aACrB,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;;AAKD,IAAA,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC;;AAIhC,IAAA,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;AAE/B,IAAA,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/B,IAAA,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;AAC7B,IAAA,aAAa,CACX,CAAC,KAAK,EAAE,MAAM,CAAC,EACf,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACjE,QAAA,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAEhC,QAAA,OAAO,MAAM;AACf,KAAC,CACF;AACH;AAEgB,SAAA,YAAY,CAAC,IAAU,EAAE,KAAe,EAAA;IACtD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;AAC3C,IAAA,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK;IAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAElC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;AAC1C;AAEgB,SAAA,YAAY,CAAC,IAAU,EAAE,KAAa,EAAA;AACpD,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;AAEpC,IAAA,OAAO,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAC9C;;ACxDA;;;;;;AAMG;AAMH,SAAS,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW,EAAA;;AAE7D,IAAA,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;;IAEzB,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;AAErE,IAAA,OAAO,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC;AACzB;AAEA;AACM,SAAU,kBAAkB,CAChC,IAAY,EACZ,IAAY,EACZ,OAAe,EACf,GAAW,EACX,GAAW,EAAA;IAEX,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;AAClD,IAAA,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,GAAG,UAAU;AAChE,IAAA,IAAI,OAAe;AACnB,IAAA,IAAI,YAAoB;AAExB,IAAA,IAAI,SAAS,IAAI,CAAC,EAAE;AAClB,QAAA,OAAO,GAAG,IAAI,GAAG,CAAC;AAClB,QAAA,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS;;AACzC,SAAA,IAAI,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE;AACvC,QAAA,OAAO,GAAG,IAAI,GAAG,CAAC;AAClB,QAAA,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;;SACtC;QACL,OAAO,GAAG,IAAI;QACd,YAAY,GAAG,SAAS;;IAG1B,OAAO;AACL,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,SAAS,EAAE;KACZ;AACH;AAEM,SAAU,UAAU,CAAC,IAAU,EAAE,GAAW,EAAE,GAAW,EAAE,KAAe,EAAA;AAC9E,IAAA,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AAC7E,IAAA,IAAI,OAAe;AACnB,IAAA,IAAI,OAAe;AAEnB,IAAA,IAAI,IAAI,GAAG,CAAC,EAAE;QACZ,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;QACtC,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;;AAC1C,SAAA,IAAI,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;AACjE,QAAA,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;QAChE,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;;SACjC;AACL,QAAA,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;QAClC,OAAO,GAAG,IAAI;;IAGhB,OAAO;AACL,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,IAAI,EAAE;KACP;AACH;SAEgB,WAAW,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW,EAAA;IAChE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;AAClD,IAAA,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;AAE1D,IAAA,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,cAAc,IAAI,CAAC;AAC7D;;AClEA,MAAM,gBAAgB,GAAG,+BAA+B;AACjD,MAAM,mBAAmB,GAAG,uFAAuF,CAAC,KAAK,CAC9H,GAAG,CACJ;AACM,MAAM,wBAAwB,GAAG,iDAAiD,CAAC,KAAK,CAC7F,GAAG,CACJ;AACM,MAAM,qBAAqB,GAAG,0DAA0D,CAAC,KAAK,CACnG,GAAG,CACJ;AACM,MAAM,0BAA0B,GAAG,6BAA6B,CAAC,KAAK,CAC3E,GAAG,CACJ;AACM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAClE,MAAM,qBAAqB,GAAgC;AAChE,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,IAAI,EAAE;CACP;AAEM,MAAM,cAAc,GAAG,IAAI;AAC3B,MAAM,6BAA6B,GAAG,SAAS;AAEtD,MAAM,uBAAuB,GAAG,SAAS;AACzC,MAAM,kBAAkB,GAAG,SAAS;MAwDvB,MAAM,CAAA;AA4CjB,IAAA,WAAA,CAAY,MAAkB,EAAA;QAC5B,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;;;AAIpB,IAAA,GAAG,CAAC,MAAkB,EAAA;AACpB,QAAA,IAAI,OAAO;AACX,QAAA,KAAK,OAAO,IAAI,MAAM,EAAE;;YAEtB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBACnC;;AAEF,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,OAA2B,CAAC;AAChD,YAAA,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,OAAO,CAAA,CAAE,CAAiB;AAExE,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,IAAW;;AAGzB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;;AAGvB,IAAA,QAAQ,CAAC,GAAW,EAAE,IAAU,EAAE,GAAS,EAAA;AACzC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAEhE,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM;;AAGnE,IAAA,cAAc,CAAC,GAAW,EAAA;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AAE3D,QAAA,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE;AAC1B,YAAA,OAAO,MAAM;;AAGf,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,GAAW,EAAA;AACvF,YAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACrB,SAAC,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;;AAGlC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;;IAG1B,IAAI,WAAW,CAAC,GAAW,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,GAAG;;IAGzB,OAAO,CAAC,GAAW,EAAE,KAAc,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;IAGtD,QAAQ,CAAC,GAAW,EAAE,MAA0B,EAAA;AAC9C,QAAA,OAAO,GAAG;;AAIZ,IAAA,WAAW,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AACnC,QAAA,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;;AAGjC,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,OAAO,GAAG;;AAGZ,IAAA,YAAY,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAsB,EAAE,QAAiB,EAAA;QACzF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;AAEtC,QAAA,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YACxB,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC;AACzC,YAAA,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;IAG3C,UAAU,CAAC,IAAY,EAAE,MAAc,EAAA;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;QAE/D,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;AAM5E,IAAA,MAAM,CAAC,IAAW,EAAE,MAAe,EAAE,KAAK,GAAG,KAAK,EAAA;QAChD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,OAAO,CAAS,IAAI,CAAC,OAAO;kBAC/B,IAAI,CAAC;AACP,kBAAE,IAAI,CAAC,OAAO,CAAC,UAAU;;AAG7B,QAAA,IAAI,OAAO,CAAS,IAAI,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;AAG5C,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,gBAAgB,EAAE,IAAI,CAAC,MAAM;AACjE,cAAE;cACA,YAAY;AAEhB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;AAKjD,IAAA,WAAW,CAAC,IAAW,EAAE,MAAe,EAAE,KAAK,GAAG,KAAK,EAAA;QACrD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,OAAO,CAAS,IAAI,CAAC,YAAY;kBACpC,IAAI,CAAC;AACP,kBAAE,IAAI,CAAC,YAAY,CAAC,UAAU;;AAGlC,QAAA,IAAI,OAAO,CAAS,IAAI,CAAC,YAAY,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;AAEjD,QAAA,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,YAAY;AAEnE,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;AAGtD,IAAA,WAAW,CAAC,SAAiB,EAAE,MAAe,EAAE,MAAgB,EAAA;AAC9D,QAAA,IAAI,IAAI;AACR,QAAA,IAAI,KAAK;AAET,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;;AAG/D,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;AACtB,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;;;;;AAM7B,QAAA,IAAI,CAAC;QACL,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;;AAEvB,YAAA,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAClC,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;AACvC,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAC5D,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACtE,gBAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC;AAC1D,gBAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC;;YAElE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;gBACpC,KAAK,GAAG,CAAI,CAAA,EAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA,CAAE;gBAC9E,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;;;AAGhE,YAAA,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,IAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AACvF,gBAAA,OAAO,CAAC;;AAGV,YAAA,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK,IAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AACvF,gBAAA,OAAO,CAAC;;AAGV,YAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AACnD,gBAAA,OAAO,CAAC;;;;AAKd,IAAA,WAAW,CAAC,QAAiB,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;gBACrC,IAAI,CAAC,kBAAkB,EAAE;;YAE3B,IAAI,QAAQ,EAAE;gBACZ,OAAO,IAAI,CAAC,kBAAkB;;YAGhC,OAAO,IAAI,CAAC,YAAY;;QAG1B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,YAAY,GAAG,kBAAkB;;AAGxC,QAAA,OAAO,IAAI,CAAC,kBAAkB,IAAI,QAAQ;YACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY;;AAG/C,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;gBACrC,IAAI,CAAC,kBAAkB,EAAE;;YAE3B,IAAI,QAAQ,EAAE;gBACZ,OAAO,IAAI,CAAC,uBAAuB;;YAGrC,OAAO,IAAI,CAAC,iBAAiB;;QAE/B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,iBAAiB,GAAG,uBAAuB;;AAGlD,QAAA,OAAO,IAAI,CAAC,uBAAuB,IAAI,QAAQ;YAC7C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,iBAAiB;;;IAIzD,IAAI,CAAC,IAAU,EAAE,KAAe,EAAA;QAC9B,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI;;IAGrE,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG;;IAGvB,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG;;AAMvB,IAAA,QAAQ,CAAC,IAAW,EAAE,MAAe,EAAE,KAAe,EAAA;QACpD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,OAAO,CAAS,IAAI,CAAC,SAAS;kBACjC,IAAI,CAAC;AACP,kBAAE,IAAI,CAAC,SAAS,CAAC,UAAU;;AAG/B,QAAA,IAAI,OAAO,CAAS,IAAI,CAAC,SAAS,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;QAG5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;AAC9C,cAAE;cACA,YAAY;AAEhB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;AAKlD,IAAA,WAAW,CAAC,IAAW,EAAE,MAAe,EAAE,KAAe,EAAA;QACvD,OAAO,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY;;AAK1E,IAAA,aAAa,CAAC,IAAW,EAAE,MAAe,EAAE,KAAe,EAAA;QACzD,OAAO,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc;;;AAK9E,IAAA,aAAa,CAAC,WAAoB,EAAE,MAAe,EAAE,MAAgB,EAAA;AACnE,QAAA,IAAI,CAAC;AACL,QAAA,IAAI,KAAK;AAET,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;;AAGhE,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;AAC3B,YAAA,IAAI,CAAC,mBAAmB,GAAG,EAAE;AAC7B,YAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE;;QAG9B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;;;YAGtB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;YACrE,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;AACzC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC;AACtG,gBAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC;AAC5G,gBAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC;;YAE1G,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;AAC3B,gBAAA,KAAK,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAK,EAAA,EAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA,EAAA,EAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE;gBACvH,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;;AAGlE,YAAA,IAAI,CAAC,OAAO,CAAS,IAAI,CAAC,kBAAkB;AACvC,mBAAA,CAAC,OAAO,CAAS,IAAI,CAAC,mBAAmB;AACzC,mBAAA,CAAC,OAAO,CAAS,IAAI,CAAC,iBAAiB;AACvC,mBAAA,CAAC,OAAO,CAAS,IAAI,CAAC,cAAc,CAAC,EAAE;gBAC1C;;;AAIF,YAAA,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AAC/E,gBAAA,OAAO,CAAC;;AACH,iBAAA,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACtF,gBAAA,OAAO,CAAC;;AACH,iBAAA,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACnF,gBAAA,OAAO,CAAC;;AACH,iBAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AAC9D,gBAAA,OAAO,CAAC;;;;;AAMd,IAAA,aAAa,CAAC,QAAiB,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;gBACvC,IAAI,CAAC,oBAAoB,EAAE;;YAG7B,IAAI,QAAQ,EAAE;gBACZ,OAAO,IAAI,CAAC,oBAAoB;;iBAC3B;gBACL,OAAO,IAAI,CAAC,cAAc;;;aAEvB;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;AACvC,gBAAA,IAAI,CAAC,cAAc,GAAG,SAAS;;AAGjC,YAAA,OAAO,IAAI,CAAC,oBAAoB,IAAI,QAAQ;gBAC1C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc;;;;;AAQrD,IAAA,kBAAkB,CAAC,QAAkB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;gBACvC,IAAI,CAAC,oBAAoB,EAAE;;YAE7B,IAAI,QAAQ,EAAE;gBACZ,OAAO,IAAI,CAAC,yBAAyB;;iBAChC;gBACL,OAAO,IAAI,CAAC,mBAAmB;;;aAE5B;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;AAC5C,gBAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS;;AAGtC,YAAA,OAAO,IAAI,CAAC,yBAAyB,IAAI,QAAQ;gBAC/C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB;;;AAI/D,IAAA,gBAAgB,CAAC,QAAkB,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;gBACvC,IAAI,CAAC,oBAAoB,EAAE;;YAE7B,IAAI,QAAQ,EAAE;gBACZ,OAAO,IAAI,CAAC,uBAAuB;;iBAC9B;gBACL,OAAO,IAAI,CAAC,iBAAiB;;;aAE1B;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;;AAGpC,YAAA,OAAO,IAAI,CAAC,uBAAuB,IAAI,QAAQ;gBAC7C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,iBAAiB;;;AAI3D,IAAA,IAAI,CAAC,KAAa,EAAA;;;QAGhB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;;AAG9C,IAAA,QAAQ,CAAC,KAAa,EAAE,OAAe,EAAE,OAAgB,EAAA;AACvD,QAAA,IAAI,KAAK,GAAG,EAAE,EAAE;YACd,OAAO,OAAO,GAAG,IAAI,GAAG,IAAI;;QAG9B,OAAO,OAAO,GAAG,IAAI,GAAG,IAAI;;AAG9B,IAAA,cAAc,CAAC,GAAW,EAAA;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,qBAAqB;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AAE3D,QAAA,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE;AAC1B,YAAA,OAAO,MAAM;;AAGf,QAAA,IAAI,CAAC,eAAe,CAClB,GAAG,CACF,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAW,KAAI;AAC5D,YAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACrB,SAAC,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;;AAG1B,IAAA,sBAAsB,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAgB,EAAA;AAChF,QAAA,MAAM,GAAG,GAAG,SAAS,CAAC,iBAAiB,EAAE;AACzC,QAAA,IAAI,CAAC;AACL,QAAA,IAAI,EAAE;AACN,QAAA,IAAI,GAAG;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;AAEtB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;AACtB,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;YAC3B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;gBACvB,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACvB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE;AACzE,gBAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE;;;QAIvE,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,MAAM,KAAK,KAAK,EAAE;gBACpB,EAAE,GAAI,IAAI,CAAC,iBAA8B,CAAC,OAAO,CAAC,GAAG,CAAC;AAEtD,gBAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;YAE9B,EAAE,GAAI,IAAI,CAAC,gBAA6B,CAAC,OAAO,CAAC,GAAG,CAAC;AAErD,YAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;AAG9B,QAAA,IAAI,MAAM,KAAK,KAAK,EAAE;YACpB,EAAE,GAAI,IAAI,CAAC,iBAA8B,CAAC,OAAO,CAAC,GAAG,CAAC;AACtD,YAAA,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACb,gBAAA,OAAO,EAAE;;YAGX,EAAE,GAAI,IAAI,CAAC,gBAA6B,CAAC,OAAO,CAAC,GAAG,CAAC;AAErD,YAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;QAG9B,EAAE,GAAI,IAAI,CAAC,gBAA6B,CAAC,OAAO,CAAC,GAAG,CAAC;AACrD,QAAA,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACb,YAAA,OAAO,EAAE;;QAEX,EAAE,GAAI,IAAI,CAAC,iBAA8B,CAAC,OAAO,CAAC,GAAG,CAAC;AAEtD,QAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;AAGtB,IAAA,qBAAqB,CAAC,WAAmB,EAAE,MAAc,EAAE,MAAe,EAAA;AAChF,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,GAAG,GAAG,WAAW,CAAC,iBAAiB,EAAE;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;AACxB,YAAA,IAAI,CAAC,mBAAmB,GAAG,EAAE;AAC7B,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;AAE3B,YAAA,IAAI,CAAC;YACL,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;gBACtB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AACrE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE;AACtE,gBAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE;AAC1E,gBAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE;;;AAIxE,QAAA,IAAI,CAAC,OAAO,CAAS,IAAI,CAAC,cAAc;AACnC,eAAA,CAAC,OAAO,CAAS,IAAI,CAAC,mBAAmB;AACzC,eAAA,CAAC,OAAO,CAAS,IAAI,CAAC,iBAAiB,CAAC,EAAE;YAC7C;;QAGF,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;AAErC,gBAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;AACvB,iBAAA,IAAI,MAAM,KAAK,KAAK,EAAE;gBAC3B,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC;AAE1C,gBAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;iBACvB;gBACL,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;AAExC,gBAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;;aAEzB;AACL,YAAA,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,gBAAA,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACb,oBAAA,OAAO,EAAE;;gBAEX,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC;AAC1C,gBAAA,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACb,oBAAA,OAAO,EAAE;;gBAEX,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;AAExC,gBAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;AACvB,iBAAA,IAAI,MAAM,KAAK,KAAK,EAAE;gBAC3B,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC;AAC1C,gBAAA,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACb,oBAAA,OAAO,EAAE;;gBAEX,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,gBAAA,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACb,oBAAA,OAAO,EAAE;;gBAEX,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;AAExC,gBAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;iBACvB;gBACL,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;AACxC,gBAAA,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACb,oBAAA,OAAO,EAAE;;gBAEX,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,gBAAA,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACb,oBAAA,OAAO,EAAE;;gBAEX,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC;AAE1C,gBAAA,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;;;;IAK1B,kBAAkB,GAAA;QACxB,MAAM,WAAW,GAAa,EAAE;QAChC,MAAM,UAAU,GAAa,EAAE;QAC/B,MAAM,WAAW,GAAa,EAAE;AAChC,QAAA,IAAI,IAAI;AAER,QAAA,IAAI,CAAC;QACL,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;;YAEvB,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACxB,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACtC,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvC,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;;;AAI9C,QAAA,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAC3B,QAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1B,QAAA,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACvB,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5C,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;;QAE5C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACvB,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;AAG9C,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAClE,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY;AAC1C,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AACvE,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;;IAGvE,oBAAoB,GAAA;QAC1B,MAAM,SAAS,GAAG,EAAE;QACpB,MAAM,WAAW,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,EAAE;QACrB,MAAM,WAAW,GAAG,EAAE;AAEtB,QAAA,IAAI,CAAC;QACL,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;;;YAGtB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjC,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AACpB,YAAA,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AACxB,YAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,YAAA,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AACxB,YAAA,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;;;AAIzB,QAAA,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AACzB,QAAA,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAC3B,QAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1B,QAAA,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5C,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1C,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;AAG9C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AACpE,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc;AAC9C,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc;AAE5C,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AACzE,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAC/E,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;;AAE9E;AAED,SAAS,SAAS,CAAC,CAAS,EAAE,CAAS,EAAA;AACrC,IAAA,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;AAC5B;;AC1uBO,MAAM,eAAe,GAAG;AAC7B,IAAA,OAAO,EAAE,eAAe;AACxB,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,QAAQ,EAAE,cAAc;AACxB,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,QAAQ,EAAE,qBAAqB;AAC/B,IAAA,QAAQ,EAAE;CACX;;ACIM,MAAM,kBAAkB,GAAG,cAAc;AAEzC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACP;AAEM,MAAM,0BAA0B,GAAG,eAAe;AAElD,MAAM,mBAAmB,GAA4B;AAC1D,IAAA,MAAM,EAAG,OAAO;AAChB,IAAA,IAAI,EAAK,QAAQ;AACjB,IAAA,CAAC,EAAI,eAAe;AACpB,IAAA,EAAE,EAAG,YAAY;AACjB,IAAA,CAAC,EAAI,UAAU;AACf,IAAA,EAAE,EAAG,YAAY;AACjB,IAAA,CAAC,EAAI,SAAS;AACd,IAAA,EAAE,EAAG,UAAU;AACf,IAAA,CAAC,EAAI,OAAO;AACZ,IAAA,EAAE,EAAG,SAAS;AACd,IAAA,CAAC,EAAI,SAAS;AACd,IAAA,EAAE,EAAG,WAAW;AAChB,IAAA,CAAC,EAAI,QAAQ;AACb,IAAA,EAAE,EAAG;CACN;AAEM,MAAM,UAAU,GAAe;AACpC,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,cAAc,EAAE,qBAAqB;AACrC,IAAA,WAAW,EAAE,kBAAkB;AAC/B,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,sBAAsB,EAAE,6BAA6B;AACrD,IAAA,YAAY,EAAE,mBAAmB;AAEjC,IAAA,MAAM,EAAE,mBAAmB;AAC3B,IAAA,WAAW,EAAE,wBAAwB;AAErC,IAAA,IAAI,EAAE,iBAAiB;AAEvB,IAAA,QAAQ,EAAE,qBAAqB;AAC/B,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,aAAa,EAAE,0BAA0B;AAEzC,IAAA,aAAa,EAAE;CAChB;;ACvDD;SAGgB,aAAa,CAAI,MAAW,EAAE,MAAW,EAAE,WAAoB,EAAA;AAC7E,IAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;AAClD,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,IAAI,KAAK,GAAG,CAAC;AACb,IAAA,IAAI,CAAC;IACL,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACxB,QAAA,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;gBACrC,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5D,YAAA,KAAK,EAAE;;;IAIX,OAAO,KAAK,GAAG,UAAU;AAC3B;;ACHA;SAEgB,QAAQ,GAAA;AACtB,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM;aAC7B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;AAED,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAA;QACjB,OAAO,UAAU,CAAC,IAAI;aACnB,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;;AAID,IAAA,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;AACzB,IAAA,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC;;AAI5B,IAAA,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1B,IAAA,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;;AAI7B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AAEtC,IAAA,iBAAiB,CACf,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EACtB,UAAS,KAAa,EAAE,IAAiB,EAAE,MAAyB,EAAE,KAAa,EAAA;AACjF,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AAEvC,QAAA,OAAO,MAAM;AACf,KAAC,CACF;;;;;AAMH;AAEM,SAAU,OAAO,CAAC,IAAU,EAAE,KAAa,EAAE,MAAM,GAAG,SAAS,EAAE,EAAA;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;AAElC,IAAA,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC;AAC7C;AAEM,SAAU,OAAO,CAAC,IAAU,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,KAAe,EAAA;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACjC;AAEA;AACA;AACA;AACA;AAEgB,SAAA,UAAU,CAAC,IAAU,EAAE,KAAa,EAAA;AAClD,IAAA,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAE7B,IAAA,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC;AAC7C;AAEgB,SAAA,UAAU,CAAC,IAAU,EAAE,KAAe,EAAA;AACpD,IAAA,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI;AAC3C;;ACpEA;SAEgB,YAAY,GAAA;AAC1B,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACzC,UAAU,IAAU,EAAE,IAA0B,EAAA;;AAE9C,QAAA,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE;AAC1D,KAAC,CACF;AAED,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACzC,UAAU,IAAU,EAAA;;QAElB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE;AAChD,KAAC,CACF;AAED,IAAA,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,CAAC;AACpD,IAAA,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,CAAC;AACrD,IAAA,sBAAsB,CAAC,MAAM,EAAE,uBAAuB,CAAC;AACvD,IAAA,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,CAAC;;AAIxD,IAAA,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;AAC9B,IAAA,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC;;AAIjC,IAAA,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9B,IAAA,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;;AAKjC,IAAA,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC;AAC/B,IAAA,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC;AAC/B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;AACxC,IAAA,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;AACxC,IAAA,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;AACzC,IAAA,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;AAEzC,IAAA,iBAAiB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAClD,UAAU,KAAK,EAAE,IAAiB,EAAE,MAAM,EAAE,KAAK,EAAA;AAC/C,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AAEvC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AAEJ,IAAA,iBAAiB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,KAAK,EAAE,IAAiB,EAAE,MAAM,EAAE,KAAK,EAAA;QAC/E,IAAI,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAEtC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AACJ;AAEA,SAAS,sBAAsB,CAAC,KAAa,EAAE,MAAuB,EAAA;AACpE,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC;AAClE;AAEA,SAAS,oBAAoB,CAAC,IAAU,EAAE,IAA0B,EAAA;IAClE,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;AAClD;AAEA,SAAS,uBAAuB,CAAC,IAAU,EAAA;AACzC,IAAA,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;AACxC;AAEA;AAEgB,SAAA,cAAc,CAAC,IAAU,EAAE,KAAa,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,KAAe,EAAA;AAC7F,IAAA,OAAO,oBAAoB,CAAC,IAAI,EAC9B,KAAK;;AAEL,IAAA,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;;IAE5B,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EACvC,MAAM,CAAC,cAAc,EAAE,EACvB,MAAM,CAAC,cAAc,EAAE,EACvB,KAAK,CAAC;AACV;AAEM,SAAU,WAAW,CAAC,IAAU,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,KAAe,EAAA;AAC3E,IAAA,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI;AACvF;SAEgB,iBAAiB,CAAC,IAAU,EAAE,KAAa,EAAE,KAAe,EAAA;IAC1E,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvG;AAEgB,SAAA,cAAc,CAAC,IAAU,EAAE,KAAe,EAAA;AACxD,IAAA,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI;AAC3C;AAEgB,SAAA,iBAAiB,CAAC,IAAU,EAAE,KAAe,EAAA;AAC3D,IAAA,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpD;AAEM,SAAU,cAAc,CAAC,IAAU,EAAE,KAAe,EAAE,MAAiB,GAAA,SAAS,EAAE,EAAA;AACtF,IAAA,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;AAChG;AAEA,SAAS,oBAAoB,CAAC,IAAU,EAAE,KAAa,EAAE,IAAY,EACvC,OAAe,EAAE,GAAW,EAAE,GAAW,EAAE,KAAe,EAAA;IACtF,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC;;IAGzC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;AAChD,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,IAAI;AAErD,IAAA,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;AAC1D;AAEA,SAAS,UAAU,CAAC,IAAU,EAAE,QAAgB,EAAE,IAAY,EAC1C,OAAe,EAAE,GAAW,EAAE,GAAW,EAAA;AAC3D,IAAA,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;AAC3E,IAAA,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;AAC3E,IAAA,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AACjD,IAAA,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAC3C,IAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAEzC,IAAA,OAAO,IAAI;AACb;;AC3IA;SAEgB,YAAY,GAAA;;IAE1B,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAC5B,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,EAAE;AAChC,KAAC,CACF;IACD,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAC7B,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,OAAO,IAAI,CAAC,KAAK,GAAG,4BAA4B,GAAG,EAAE;AACvD,KAAC,CACF;AACH;AAEA;AAEM,SAAU,WAAW,CAAC,KAAc,EAAA;IACxC,OAAO,KAAK,GAAG,KAAK,GAAG,EAAE;AAC3B;AAEM,SAAU,WAAW,CAAC,KAAc,EAAA;IACxC,OAAO,KAAK,GAAG,4BAA4B,GAAG,EAAE;AAClD;;SClBgB,aAAa,GAAA;;IAG3B,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAS,IAAU,EAAA;QACjD,OAAO,IAAI,CAAC,IAAI;aACb,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CAAC;IACF,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAS,IAAU,EAAA;QACjD,OAAO,IAAI,CAAC,OAAO;aAChB,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CAAC;;AAIF,IAAA,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC;AAC/B,IAAA,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;IAElC,aAAa,CAAC,GAAG,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACpF,QAAA,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAE9C,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;IACF,aAAa,CAAC,GAAG,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;QACpF,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAElC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AACJ;;SC1BgB,UAAU,GAAA;;AAGxB,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aAC/B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;;AAID,IAAA,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC;;AAI3B,IAAA,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;;AAI7B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;IACtC,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;AACpC;;SCpBgB,WAAW,GAAA;;IAGzB,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAC5B,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aAC/B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;;AAID,IAAA,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC;;AAI5B,IAAA,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;;AAI7B,IAAA,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,GAAG,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACpF,QAAA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AAErC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AACJ;AAEA;SAEgB,UAAU,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AAClD,IAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnD;SAEgB,UAAU,CAAC,IAAU,EAAE,OAAe,EAAE,KAAe,EAAA;IACrE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;AAC7E;AAEA;AACA;AACA;AACA;AACA;;ACvDA;AAaA,SAAS,oBAAoB,CAAC,KAAa,EAAE,SAAiB,EAAA;IAC5D,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,IAAU,EAAE,MAAM,EAAA;QAC5D,IAAI,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC;QAC/E,IAAI,IAAI,GAAG,GAAG;AACd,QAAA,IAAI,MAAM,GAAG,CAAC,EAAE;YACd,MAAM,GAAG,CAAC,MAAM;YAChB,IAAI,GAAG,GAAG;;AAGZ,QAAA,OAAO,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACvF,KAAC,CAAC;AACJ;SAEgB,UAAU,GAAA;AACxB,IAAA,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC;AAC9B,IAAA,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC;;AAI9B,IAAA,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACpC,IAAA,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC;AACrC,IAAA,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AAC5F,QAAA,MAAM,CAAC,OAAO,GAAG,IAAI;QACrB,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;AAEvD,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AACJ;AAEA;AAEA;AACA;AACA;AACA,MAAM,WAAW,GAAG,iBAAiB;AAErC,SAAS,gBAAgB,CAAC,OAAe,EAAE,GAAW,EAAA;AACpD,IAAA,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;AAE1C,IAAA,IAAI,OAAO,KAAK,IAAI,EAAE;AACpB,QAAA,OAAO,IAAI;;IAGb,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACzC,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7D,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,OAAO,GAAG,CAAC,OAAO;IAElD,OAAO,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;AACjC;AAEA;AACM,SAAU,eAAe,CAAC,KAAW,EAAE,IAAU,EACvB,SAA4B,EAAE,EAAA;AAC5D,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAClB,QAAA,OAAO,KAAK;;AAGd,IAAA,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;;IAE3B,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK;AAChD,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU;;IAEzD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;;;AAIjC,IAAA,OAAO,GAAG;AACZ;AAEM,SAAU,aAAa,CAAC,IAAU,EAAA;;;AAGtC,IAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;AACxD;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;SACgB,YAAY,CAAC,IAAU,EAAE,SAA4B,EAAE,EAAA;AACrE,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAEnC,IAAA,OAAO,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;AACtD;AAEgB,SAAA,YAAY,CAAC,IAAU,EAAE,KAAsB,EAAE,aAAuB,EAAE,WAAqB,EAAE,MAAA,GAA4B,EAAE,EAAA;AAC7I,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAClC,IAAA,IAAI,WAAW;IACf,IAAI,MAAM,GAAG,KAAK;IAClB,IAAI,KAAK,GAAG,IAAI;AAEhB,IAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpB,QAAA,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC;AACnD,QAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,YAAA,OAAO,KAAK;;;AAET,SAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE;AACpE,QAAA,MAAM,GAAG,MAAM,GAAG,EAAE;;AAGtB,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,EAAE;AACnC,QAAA,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC;;AAEpC,IAAA,MAAM,CAAC,OAAO,GAAG,MAAM;AACvB,IAAA,MAAM,CAAC,MAAM,GAAG,IAAI;AACpB,IAAA,IAAI,WAAW,IAAI,IAAI,EAAE;QACvB,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC;;AAE5C,IAAA,IAAI,MAAM,KAAK,MAAM,EAAE;AACrB,QAAA,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,iBAAiB,EAAE;AAC9C,YAAA,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;;;AAExD,aAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;AACpC,YAAA,MAAM,CAAC,iBAAiB,GAAG,IAAI;;;AAG/B,YAAA,MAAM,CAAC,iBAAiB,GAAG,IAAI;;;AAInC,IAAA,OAAO,KAAK;AACd;AAEA;;;;;;;;;;;;;;AAcE;AAEc,SAAA,cAAc,CAAC,IAAU,EAAE,aAAuB,EAAA;IAChE,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC;AAC7C;AAEM,SAAU,oBAAoB,CAAC,IAAU,EAAA;AAE7C,IAAA,QAAQ,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjE,WAAA,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACtE;AAEA;;;;;;;;;;AAUG;AAEG,SAAU,uBAAuB,CAAC,IAAU,EAAE,KAAa,EAAE,SAA4B,EAAE,EAAA;AAC/F,IAAA,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;AACvB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;;AAG7D,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACnB,MAAM,KAAK,GAAG,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC;AAClD,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,YAAA,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;;AAGxD,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;;AAGnD,IAAA,OAAO,IAAI;AACb;AAEgB,SAAA,oBAAoB,CAAC,IAAU,EAAE,KAAY,EAAA;IAC3D,MAAM,MAAM,GAAG,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;AAEjE,IAAA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,KAAK,CAAC;AACjD;AAGA;AACA;;;;;;;;;;;;;;;;;;;AAmBG;AAEH;AACA;;;;;;;;;;AAUG;;SC9Oa,UAAU,GAAA;;AAGxB,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aAC/B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;;AAID,IAAA,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC;;AAI3B,IAAA,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;;AAI7B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;IACtC,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;AACpC;;ACjCA;SAcgB,eAAe,GAAA;IAC7B,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAC5B,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AACnE,KAAC,CACF;AAED,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACzC,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AAClE,KAAC,CACF;AAED,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAC1C,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AACzD,KAAC,CACF;AACD,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAC3C,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC9D,KAAC,CACF;AACD,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAC5C,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC/D,KAAC,CACF;AACD,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAC7C,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;AAChE,KAAC,CACF;AACD,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAC9C,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;AACjE,KAAC,CACF;AACD,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAC/C,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;AAClE,KAAC,CACF;AACD,IAAA,cAAc,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAChD,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;AACnE,KAAC,CACF;;AAKD,IAAA,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC;;AAIjC,IAAA,eAAe,CAAC,aAAa,EAAE,EAAE,CAAC;;AAIlC,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC;AACrC,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;AAEvC,IAAA,IAAI,KAAK;AACT,IAAA,KAAK,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE;AACpD,QAAA,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC;;AAGrC,IAAA,SAAS,OAAO,CAAC,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACzE,QAAA,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA,EAAA,EAAK,KAAK,CAAE,CAAA,CAAC,GAAG,IAAI,CAAC;AAE3D,QAAA,OAAO,MAAM;;AAGf,IAAA,KAAK,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE;AACjD,QAAA,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;;;AAGjC;;SC9EgB,QAAQ,GAAA;;AAGtB,IAAA,SAAS,OAAO,CAAC,IAAU,EAAE,KAAc,EAAA;QACzC,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;;AAGzC,IAAA,SAAS,OAAO,CAAC,IAAU,EAAE,KAAc,EAAA;QACzC,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;;AAGpC,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aAC7B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;AACD,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aAC5B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;AACD,IAAA,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EACxC,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aAC5B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;IAED,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAC9B,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;AACpC,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAErD,QAAA,OAAO,CAAG,EAAA,EAAE,CAAG,EAAA,GAAG,EAAE;AACtB,KAAC,CACF;IAED,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAChC,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;AACpC,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACrD,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAErD,QAAA,OAAO,GAAG,EAAE,CAAA,EAAG,GAAG,CAAG,EAAA,GAAG,EAAE;AAC5B,KAAC,CACF;IAED,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAC9B,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;AACrC,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAErD,QAAA,OAAO,CAAG,EAAA,EAAE,CAAG,EAAA,GAAG,EAAE;AACtB,KAAC,CACF;IAED,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAChC,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;AACrC,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACrD,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAErD,QAAA,OAAO,GAAG,EAAE,CAAA,EAAG,GAAG,CAAG,EAAA,GAAG,EAAE;AAC5B,KAAC,CACF;AAED,IAAA,SAAS,QAAQ,CAAC,KAAa,EAAE,SAAkB,EAAA;QACjD,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAC9B,UAAS,IAAU,EAAE,IAA0B,EAAA;YAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;AAClG,SAAC,CACF;;AAGH,IAAA,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;AACnB,IAAA,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;;AAIpB,IAAA,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;;AAGzB,IAAA,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;;AAK3B,IAAA,SAAS,aAAa,CAAC,QAAiB,EAAE,MAAc,EAAA;QACtD,OAAO,MAAM,CAAC,cAAc;;AAG9B,IAAA,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC;AACjC,IAAA,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC;AACjC,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,IAAA,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AAEtC,IAAA,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/B,IAAA,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;AACjC,IAAA,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/B,IAAA,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;IAEjC,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAChC,IAAA,aAAa,CACX,CAAC,GAAG,EAAE,IAAI,CAAC,EACX,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACjE,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;AAC3B,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM;AAExC,QAAA,OAAO,MAAM;AACf,KAAC,CACF;AACD,IAAA,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;QAC3F,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACzC,QAAA,MAAM,CAAC,SAAS,GAAG,KAAK;AAExB,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AACF,IAAA,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;QAC5F,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AAC1B,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI;AAEtC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;IACF,aAAa,CAAC,KAAK,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACtF,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC5B,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxC,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI;AAEtC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;IACF,aAAa,CAAC,OAAO,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACxF,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC7B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC7B,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1C,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5C,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI;AAEtC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;IACF,aAAa,CAAC,KAAK,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACtF,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC5B,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAExC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;IACF,aAAa,CAAC,OAAO,EAAE,UAAS,KAAa,EAAE,KAAgB,EAAE,MAAyB,EAAA;AACxF,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC7B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC7B,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1C,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5C,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEzC,QAAA,OAAO,MAAM;AACf,KAAC,CAAC;AAEJ;;ACnLA;AAsBA,MAAM,OAAO,GAA8B,EAAE;AAC7C,MAAM,cAAc,GAA4D,EAAE;AAClF,IAAI,YAAoB;AAExB,SAAS,eAAe,CAAC,GAAW,EAAA;AAClC,IAAA,OAAO,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG;AACxD;AAEA;AACA;AACA;AACA;AACA,SAAS,YAAY,CAAC,KAAe,EAAA;AACnC,IAAA,IAAI,IAAI;AACR,IAAA,IAAI,MAAM;IACV,IAAI,CAAC,GAAG,CAAC;AAET,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;AACvB,QAAA,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAClD,QAAA,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM;QACpB,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,QAAA,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;AACpC,QAAA,OAAO,CAAC,GAAG,CAAC,EAAE;AACZ,YAAA,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE;AACV,gBAAA,OAAO,MAAM;;YAEf,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;;gBAEzE;;AAEF,YAAA,CAAC,EAAE;;AAEL,QAAA,CAAC,EAAE;;AAGL,IAAA,OAAO,IAAI;AACb;AAEgB,SAAA,YAAY,CAAC,YAAwB,EACxB,WAAuB,EAAA;IAClD,MAAM,GAAG,GAAe,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC;AAEvD,IAAA,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;QACnC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE;YACvC;;AAGF,QAAA,IAAI,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE;AACzE,YAAA,GAAG,CAAC,SAAgB,CAAC,GAAG,EAAE;AAC1B,YAAA,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;AACtD,YAAA,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;;AAChD,aAAA,IAAI,WAAW,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YACzC,GAAG,CAAC,SAAgB,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC;;aACzC;AACL,YAAA,OAAO,GAAG,CAAC,SAAgB,CAAC;;;AAGhC,IAAA,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE;AACrC,QAAA,IACE,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC;AACpC,YAAA,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC;AACpC,YAAA,QAAQ,CAAC,YAAY,CAAC,UAA8B,CAAC,CAAC,EACtD;;AAEA,YAAA,GAAG,CAAC,UAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,UAA8B,CAAC,CAAC;;;AAInF,IAAA,OAAO,GAAG;AACZ;AAGA,SAAS,UAAU,CAAC,IAAY,EAAA;;AAE9B;;;;;;;;;;AAUI;AACJ,IAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAClB,QAAA,OAAO,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAA,iBAAA,CAAmB,CAAC;;;AAIrF,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB;AAEA;AACA;AACA;AACgB,SAAA,kBAAkB,CAAC,GAAuB,EAAE,MAAmB,EAAA;AAC7E,IAAA,IAAI,IAAY;IAEhB,IAAI,GAAG,EAAE;AACP,QAAA,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;AACvB,YAAA,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;;AAChB,aAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AACxB,YAAA,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC;;QAGlC,IAAI,IAAI,EAAE;YACR,YAAY,GAAG,IAAI;;;AAIvB,IAAA,OAAO,YAAY,IAAI,YAAY,CAAC,KAAK;AAC3C;AAEgB,SAAA,YAAY,CAAC,IAAY,EAAE,MAAmB,EAAA;AAC5D,IAAA,IAAI,MAAM,KAAK,IAAI,EAAE;;AAEnB,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC;AACpB,QAAA,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;AAE9B,QAAA,OAAO,IAAI;;IAGb,IAAI,CAAC,MAAM,EAAE;QACX;;IAGF,IAAI,YAAY,GAAG,UAAU;AAC7B,IAAA,MAAM,CAAC,IAAI,GAAG,IAAI;AAClB,IAAA,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE;QAC/B,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;YACxC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO;;aAC9C;YACL,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;AACxC,gBAAA,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE;;AAE1C,YAAA,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAE1D,YAAA,OAAO,IAAI;;;AAIf,IAAA,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAE9D,IAAA,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;AACxB,QAAA,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAA;YACtC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AAChC,SAAC,CAAC;;;;;IAMJ,kBAAkB,CAAC,IAAI,CAAC;AAGxB,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB;AAEgB,SAAA,YAAY,CAAC,IAAY,EAAE,MAAmB,EAAA;IAC5D,IAAI,OAAO,GAAG,MAAM;AAEpB,IAAA,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,IAAI,YAAY,GAAG,UAAU;;AAE7B,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;AAClC,QAAA,IAAI,SAAS,IAAI,IAAI,EAAE;AACrB,YAAA,YAAY,GAAG,SAAS,CAAC,OAAO;;AAElC,QAAA,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC;AAC7C,QAAA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;AAClC,QAAA,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;AACnC,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM;;QAGtB,kBAAkB,CAAC,IAAI,CAAC;;SACnB;;AAEL,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YACzB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,EAAE;gBACtC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY;;AACrC,iBAAA,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;AAChC,gBAAA,OAAO,OAAO,CAAC,IAAI,CAAC;;;;AAK1B,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB;AAEA;AACM,SAAU,SAAS,CAAC,GAAuB,EAAA;AAC/C,IAAA,gBAAgB,EAAE;IAElB,IAAI,CAAC,GAAG,EAAE;AACR,QAAA,OAAO,YAAY;;;AAGrB,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AAEvC,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC;AAC3B;SAEgB,WAAW,GAAA;AACzB,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7B;AAEA,SAAS,gBAAgB,GAAA;AACvB,IAAA,IAAI,OAAO,CAAC,CAAI,EAAA,CAAA,CAAC,EAAE;AAEjB,QAAA,OAAO,SAAS;;IAGlB,kBAAkB,CAAC,IAAI,EAAE;AACvB,QAAA,sBAAsB,EAAE,sBAAsB;AAC9C,QAAA,OAAO,CAAC,GAAW,EAAA;AACjB,YAAA,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;AAClB,YAAA,MAAM,MAAM,GACV,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,KAAK;AAC1B,kBAAE;AACF,kBAAE,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI;YAE7D,OAAO,GAAG,GAAG,MAAM;;AAEtB,KAAA,CAAC;AAEF,IAAA,QAAQ,EAAE;AACV,IAAA,YAAY,EAAE;AACd,IAAA,QAAQ,EAAE;AACV,IAAA,YAAY,EAAE;AACd,IAAA,aAAa,EAAE;AACf,IAAA,UAAU,EAAE;AACZ,IAAA,WAAW,EAAE;AACb,IAAA,UAAU,EAAE;AACZ,IAAA,SAAS,EAAE;AACX,IAAA,UAAU,EAAE;AACZ,IAAA,eAAe,EAAE;AACjB,IAAA,QAAQ,EAAE;AACV,IAAA,aAAa,EAAE;AACf,IAAA,aAAa,EAAE;AACf,IAAA,cAAc,EAAE;AAClB;;ACnQA,MAAM,QAAQ,GAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC;AACjI,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAA+B,EAAE,KAAK,KAAI;AAC9E,IAAA,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI;AAEjB,IAAA,OAAO,GAAG;AACZ,CAAC,EAAE,EAAE,CAAC;AAEA,SAAU,eAAe,CAAC,QAA6B,EAAA;IAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,IAAA,IAAI;AACC,SAAA,IAAI,CAAC,CAAC,GAAqB,KAAI;AAC9B,QAAA,OAAO,CAAC,GAAG,IAAI,YAAY;AACtB,eAAA,QAAQ,CAAC,GAAG,CAAC,KAAK;AAClB,eAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KAC1B,CAAC,EAAE;AACN,QAAA,OAAO,KAAK;;;;;;;IAQd,IAAI,cAAc,GAAG,KAAK;AAC1B,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;;YAEzB,IAAI,cAAc,EAAE;AAClB,gBAAA,OAAO,KAAK;;AAEd,YAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC1D,cAAc,GAAG,IAAI;;;;AAK3B,IAAA,OAAO,IAAI;AACb;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDM,SAAU,OAAO,CAAE,MAAc,EAAA;IACrC,OAAO,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5D;;ACEM,SAAU,MAAM,CAAC,GAAa,EAAA;AAClC,IAAA,IAAI,YAAY,GAAG,GAAG,CAAC,aAAa;AACpC,IAAA,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK;AACpB,IAAA,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO;AACxB,IAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK;;;AAItB,IAAA,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAChD,SAAC,YAAY,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;AACpD,QAAA,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK;QAC5D,IAAI,GAAG,CAAC;QACR,MAAM,GAAG,CAAC;;;;AAKZ,IAAA,IAAI,CAAC,YAAY,GAAG,YAAY,GAAG,IAAI;IAEvC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;AAC7C,IAAA,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,EAAE;IAE3B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;AACtC,IAAA,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,EAAE;IAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;AACpC,IAAA,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,EAAE;AAEvB,IAAA,IAAI,IAAI,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;;IAG5B,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,IAAI,cAAc;IACxB,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;;IAG7C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;IACnC,MAAM,IAAI,EAAE;AAEZ,IAAA,IAAI,CAAC,GAAG,GAAG,IAAI;AACf,IAAA,IAAI,CAAC,KAAK,GAAG,MAAM;AACnB,IAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AAEjB,IAAA,OAAO,GAAG;AACZ;AAEM,SAAU,YAAY,CAAC,GAAW,EAAA;;;AAGtC,IAAA,OAAO,GAAG,GAAG,IAAI,GAAG,MAAM;AAC5B;AAEM,SAAU,YAAY,CAAC,KAAa,EAAA;;AAExC,IAAA,OAAO,KAAK,GAAG,MAAM,GAAG,IAAI;AAC9B;;ACvDA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;AACtB,MAAM,UAAU,GAA8B;IAC5C,EAAE,EAAE,EAAE;IACN,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;CACN;AAED;AACA,SAAS,iBAAiB,CAAC,GAAsB,EAAE,GAAW,EACnC,aAAsB,EAAE,QAAiB,EACzC,MAAc,EAAA;AACvC,IAAA,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC;AACtE;SAEgB,YAAY,CAAC,cAAwB,EAAE,aAAsB,EAAE,MAAc,EAAA;IAC3F,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAErC,IAAA,MAAM,CAAC,GACL,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;QAC7C,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACrB,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAC5C,QAAA,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACxC,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClB,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AACtC,QAAA,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpB,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC1C,QAAA,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;IAEtC,MAAM,CAAC,GACL,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,cAAc,GAAG,CAAC,EAAE,MAAM,CAAC;;;;IAK1D,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC;AAEA;AACM,SAAU,0BAA0B,CAAC,gBAAqB,EAAA;AAC9D,IAAA,IAAI,gBAAgB,KAAK,SAAS,EAAE;AAClC,QAAA,OAAO,KAAK;;AAEd,IAAA,IAAI,QAAO,gBAAgB,CAAC,KAAK,UAAU,EAAE;QAC3C,KAAK,GAAG,gBAAgB;AAExB,QAAA,OAAO,IAAI;;AAGb,IAAA,OAAO,KAAK;AACd;AAEA;AACgB,SAAA,2BAA2B,CAAC,SAAiB,EAAE,KAAa,EAAA;AAC1E,IAAA,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;AACvC,QAAA,OAAO,KAAK;;AAEd,IAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,QAAA,OAAO,UAAU,CAAC,SAAS,CAAC;;AAE9B,IAAA,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK;AAC7B,IAAA,IAAI,SAAS,KAAK,GAAG,EAAE;AACrB,QAAA,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC;;AAG9B,IAAA,OAAO,IAAI;AACb;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MCrFa,QAAQ,CAAA;IAQnB,WAAY,CAAA,QAA6B,EAAE,MAAA,GAA4B,EAAE,EAAA;QAJzE,IAAK,CAAA,KAAA,GAAwB,EAAE;QAC/B,IAAO,CAAA,OAAA,GAAW,SAAS,EAAE;QAI3B,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE;;QAEtD,MAAM,eAAe,GAAG,QAAQ;AAChC,QAAA,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,IAAI,CAAC;AACvC,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,IAAI,CAAC;AAC7C,QAAA,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,IAAI,CAAC;AACzC,QAAA,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,IAAI,CAAC;AACvC,QAAA,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;AACrC,QAAA,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,CAAC;AACxC,QAAA,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,IAAI,CAAC;AAC5C,QAAA,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,IAAI,CAAC;AAC5C,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,IAAI,CAAC;AAEtD,QAAA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC;;AAGhD,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,YAAY;AAChC,YAAA,OAAO,GAAG,IAAI;AACd,YAAA,OAAO,GAAG,EAAE,GAAG,IAAI;YACnB,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;;;;AAIzB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI;YAChB,KAAK,GAAG,CAAC;;;;AAIX,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM;AACpB,YAAA,QAAQ,GAAG,CAAC;YACZ,KAAK,GAAG,EAAE;;;;AAOZ,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC;;IAGrB,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,QAAQ;;AAGtB,IAAA,QAAQ,CAAC,UAAoB,EAAA;;AAG3B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW;;AAGtC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE;QAChC,IAAI,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;QAEpD,IAAI,UAAU,EAAE;YACd,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;;AAG3C,QAAA,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;;IAGlC,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;;AAKrB,IAAA,MAAM,CAAC,SAAkB,EAAA;QACvB,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;;QAG3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO;AAEnD,QAAA,OAAO,IAAI;;IAIb,GAAG,GAAA;AACD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG;AAExB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK;QAEvB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAEpC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAE9B,QAAA,OAAO,IAAI;;AAGb,IAAA,EAAE,CAAC,MAAc,EAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,OAAO,GAAG;;AAEZ,QAAA,IAAI,IAAI;AACR,QAAA,IAAI,MAAM;AACV,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;AAEvC,QAAA,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC;QAEpC,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE;YACzC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY,GAAG,KAAK;YACxC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC;AAE1C,YAAA,OAAO,KAAK,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE;;;AAIjD,QAAA,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,QAAQ,KAAK;AACX,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,IAAI,GAAG,CAAC,GAAG,YAAY,GAAG,MAAM;AACzC,YAAA,KAAK,KAAK;AACR,gBAAA,OAAO,IAAI,GAAG,YAAY,GAAG,KAAK;AACpC,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,IAAI,GAAG,EAAE,GAAG,YAAY,GAAG,IAAI;AACxC,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,IAAI,GAAG,IAAI,GAAG,YAAY,GAAG,GAAG;AACzC,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,IAAI,GAAG,KAAK,GAAG,YAAY,GAAG,IAAI;;AAE3C,YAAA,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY;AAChD,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAA,CAAE,CAAC;;;IAI9C,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,OAAO,GAAG;;QAGZ,QACE,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,YAAA,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,MAAM;YAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,OAAO;;AAGvC;AAEK,SAAU,UAAU,CAAC,GAAQ,EAAA;IACjC,OAAO,GAAG,YAAY,QAAQ;AAChC;;ACvKM,SAAU,OAAO,CAAC,MAAyB,EAAA;AAC/C,IAAA,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE;AAC3B,QAAA,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC;AACrC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAS,EAAA;YACtF,OAAO,CAAC,IAAI,IAAI;AAClB,SAAC,CAAC;AACF,QAAA,IAAI,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YACvD,KAAK,CAAC,QAAQ,GAAG,CAAC;YAClB,CAAC,KAAK,CAAC,KAAK;YACZ,CAAC,KAAK,CAAC,YAAY;YACnB,CAAC,KAAK,CAAC,cAAc;YACrB,CAAC,KAAK,CAAC,eAAe;YACtB,CAAC,KAAK,CAAC,SAAS;YAChB,CAAC,KAAK,CAAC,aAAa;YACpB,CAAC,KAAK,CAAC,eAAe;AACtB,aAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC;AAEtD,QAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,YAAA,UAAU,GAAG,UAAU;gBACrB,KAAK,CAAC,aAAa,KAAK,CAAC;AACzB,gBAAA,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;AAC/B,gBAAA,KAAK,CAAC,OAAO,KAAK,SAAS;;AAG/B,QAAA,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACvD,YAAA,MAAM,CAAC,QAAQ,GAAG,UAAU;;aACvB;AACL,YAAA,OAAO,UAAU;;;IAIrB,OAAO,MAAM,CAAC,QAAQ;AACxB;AAEgB,SAAA,aAAa,CAAC,MAAyB,EAAE,KAA8B,EAAA;IACrF,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;AACzB,IAAA,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;AAE1E,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,WAAW,CAAC,MAAyB,EAAA;AACnD,IAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AAEvB,IAAA,OAAO,MAAM;AACf;;ACvCA;AACA;AACA,MAAM,gBAAgB,GAAG,kJAAkJ;AAC3K,MAAM,aAAa,GAAG,6IAA6I;AAEnK,MAAM,OAAO,GAAG,uBAAuB;AAEvC,MAAM,QAAQ,GAAgC;AAC5C,IAAA,CAAC,cAAc,EAAE,qBAAqB,EAAE,IAAI,CAAC;AAC7C,IAAA,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC;AACvC,IAAA,CAAC,cAAc,EAAE,gBAAgB,EAAE,IAAI,CAAC;AACxC,IAAA,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC;AACpC,IAAA,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC;AACjC,IAAA,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC;AAClC,IAAA,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;;AAE3B,IAAA,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC;AACnC,IAAA,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI;CAC1B;AAED;AACA,MAAM,QAAQ,GAAuB;IACnC,CAAC,eAAe,EAAE,qBAAqB,CAAC;IACxC,CAAC,eAAe,EAAE,oBAAoB,CAAC;IACvC,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAC9B,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,aAAa,EAAE,mBAAmB,CAAC;IACpC,CAAC,aAAa,EAAE,kBAAkB,CAAC;IACnC,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1B,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,IAAI,EAAE,MAAM;CACd;AAED,MAAM,eAAe,GAAG,qBAAqB;AAE7C,MAAM,UAAU,GAA8B;AAC5C,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;AACZ,IAAA,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;AACZ,IAAA,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;AACZ,IAAA,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;AACZ,IAAA,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;AACZ,IAAA,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;AACZ,IAAA,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;AACZ,IAAA,GAAG,EAAE,CAAC,CAAC,GAAG;CACX;AAED;AACA,MAAM,OAAO,GAAG,yLAAyL;AAEzM;AACM,SAAU,aAAa,CAAC,MAAyB,EAAA;IACrD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;AACxB,QAAA,OAAO,MAAM;;AAGf,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE;AACvB,IAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AAGvE,IAAA,IAAI,SAAS;AACb,IAAA,IAAI,UAAU;AACd,IAAA,IAAI,UAAU;AACd,IAAA,IAAI,QAAQ;IAEZ,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AAEvB,QAAA,OAAO,MAAM;;;AAIf,IAAA,IAAI,CAAC;AACL,IAAA,IAAI,CAAC;AACL,IAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3C,QAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACjC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK;YACpC;;;AAIJ,IAAA,IAAI,UAAU,IAAI,IAAI,EAAE;AACtB,QAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AAEvB,QAAA,OAAO,MAAM;;AAGf,IAAA,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AACZ,QAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3C,YAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;;AAEjC,gBAAA,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C;;;AAIJ,QAAA,IAAI,UAAU,IAAI,IAAI,EAAE;AACtB,YAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AAEvB,YAAA,OAAO,MAAM;;;AAIjB,IAAA,IAAI,CAAC,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;AACpC,QAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AAEvB,QAAA,OAAO,MAAM;;AAGf,IAAA,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACZ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1B,QAAQ,GAAG,GAAG;;aACT;AACL,YAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AAEvB,YAAA,OAAO,MAAM;;;AAIjB,IAAA,MAAM,CAAC,EAAE,GAAG,UAAU,IAAI,UAAU,IAAI,EAAE,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC;AAE9D,IAAA,OAAO,yBAAyB,CAAC,MAAM,CAAC;AAC1C;AAEA,SAAS,yBAAyB,CAAC,OAAe,EAAE,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,SAAiB,EAAE,SAAiB,EAAA;AACzI,IAAA,MAAM,MAAM,GAAG;QACb,cAAc,CAAC,OAAO,CAAC;AACvB,QAAA,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC1C,QAAA,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;AACpB,QAAA,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AACrB,QAAA,QAAQ,CAAC,SAAS,EAAE,EAAE;KACvB;IAED,IAAI,SAAS,EAAE;QACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;;AAGtC,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,cAAc,CAAC,OAAe,EAAA;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AAElC,IAAA,OAAO,IAAI,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACxC;AAEA,SAAS,iBAAiB,CAAC,GAAW,EAAA;;AAEpC,IAAA,OAAO;AACJ,SAAA,OAAO,CAAC,mBAAmB,EAAE,GAAG;SAChC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;AACpC;AAEA,SAAS,YAAY,CAAC,UAAkB,EAAE,WAAsB,EAAE,MAAyB,EAAA;IACzF,IAAI,UAAU,EAAE;;QAEd,MAAM,eAAe,GAAG,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC;QACtE,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;AACvF,QAAA,IAAI,eAAe,KAAK,aAAa,EAAE;AACrC,YAAA,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,GAAG,IAAI;AAC9C,YAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AAEvB,YAAA,OAAO,KAAK;;;AAIhB,IAAA,OAAO,IAAI;AACb;AAEA,SAAS,eAAe,CAAC,SAAiB,EAAE,cAAsB,EAAE,SAAiB,EAAA;IACnF,IAAI,SAAS,EAAE;AACb,QAAA,OAAO,UAAU,CAAC,SAAS,CAAC;;SACvB,IAAI,cAAc,EAAE;;AAEzB,QAAA,OAAO,CAAC;;SACH;QACL,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;AAClC,QAAA,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG;QAClB,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG;AAExB,QAAA,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;;AAErB;AAEA;AACM,SAAU,iBAAiB,CAAC,MAAyB,EAAA;IACzD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;AACxB,QAAA,OAAO,MAAM;;AAGf,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAExD,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,WAAW,CAAC,MAAM,CAAC;;AAG5B,IAAA,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACzG,IAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE;AAChD,QAAA,OAAO,MAAM;;AAGf,IAAA,MAAM,CAAC,EAAE,GAAG,WAAW;IACvB,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;AAE5D,IAAA,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AAChD,IAAA,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;AAEhE,IAAA,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI;AAEtC,IAAA,OAAO,MAAM;AACf;AAEA;AACM,SAAU,gBAAgB,CAAC,MAAyB,EAAA;IACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;AACxB,QAAA,OAAO,MAAM;;IAGf,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAE/C,IAAA,IAAI,OAAO,KAAK,IAAI,EAAE;AACpB,QAAA,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjC,QAAA,OAAO,MAAM;;;;;IAOf,aAAa,CAAC,MAAM,CAAC;AACrB,IAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE;QAC7B,OAAO,MAAM,CAAC,QAAQ;;SACjB;AACL,QAAA,OAAO,MAAM;;IAGf,iBAAiB,CAAC,MAAM,CAAC;AACzB,IAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE;QAC7B,OAAO,MAAM,CAAC,QAAQ;;SACjB;AACL,QAAA,OAAO,MAAM;;;;AAKf,IAAA,OAAO,aAAa,CAAC,MAAM,CAAC;AAC9B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9QA;AACA;AACA;AACA;AACA;AAQgB,SAAA,UAAU,CAAC,IAAU,EAAE,MAAe,EAAE,MAAe,EAAE,KAAe,EAAE,MAAM,GAAG,CAAC,EAAA;IAClG,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAA,wDAAA,CAA0D,CAC5E;;AAGH,IAAA,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK,GAAI,wBAAwB,GAAG,sBAAsB,CAAC;AAEtF,IAAA,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;IAElE,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,OAAO,MAAM;;AAGf,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;AACnC;AAEA;AACgB,SAAA,YAAY,CAAC,IAAU,EAAE,OAAe,EAAE,MAAc,EAAE,KAAe,EAAE,MAAM,GAAG,CAAC,EAAA;AACnG,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,WAAW;;IAG3B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;AAC5C,IAAA,eAAe,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC;AAE/E,IAAA,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AAC7D;AAEgB,SAAA,YAAY,CAAC,OAAe,EAAE,MAAc,EAAA;IAC1D,IAAI,MAAM,GAAG,OAAO;IACpB,IAAI,CAAC,GAAG,CAAC;IACT,MAAM,qBAAqB,GAAG,4CAA4C;AAE1E,IAAA,MAAM,2BAA2B,GAAG,CAAC,KAAU,KAAI;QACjD,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK;AAC9C,KAAC;AAED,IAAA,qBAAqB,CAAC,SAAS,GAAG,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACnD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;AAC3E,QAAA,qBAAqB,CAAC,SAAS,GAAG,CAAC;QACnC,CAAC,IAAI,CAAC;;AAGR,IAAA,OAAO,MAAM;AACf;;AC5DA;SACgB,QAAQ,CAAI,CAAK,EAAE,CAAK,EAAE,CAAK,EAAA;AAC7C,IAAA,IAAI,CAAC,IAAI,IAAI,EAAE;AACb,QAAA,OAAO,CAAC;;AAEV,IAAA,IAAI,CAAC,IAAI,IAAI,EAAE;AACb,QAAA,OAAO,CAAC;;AAGV,IAAA,OAAO,CAAC;AACV;;ACAA,SAAS,gBAAgB,CAAC,MAAyB,EAAA;AACjD,IAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE;AAE3B,IAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,QAAA,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;;AAGnF,IAAA,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC1E;AAEA;AACA;AACA;AACA;AACM,SAAU,eAAe,CAAC,MAAyB,EAAA;IACvD,MAAM,KAAK,GAAG,EAAE;AAChB,IAAA,IAAI,CAAC;AACL,IAAA,IAAI,IAAI;AACR,IAAA,IAAI,SAAS;AAEb,IAAA,IAAI,MAAM,CAAC,EAAE,EAAE;AACb,QAAA,OAAO,MAAM;;AAGf,IAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC;;IAG5C,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;QACpE,qBAAqB,CAAC,MAAM,CAAC;;;AAI/B,IAAA,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;AAC7B,QAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AAExD,QAAA,IAAI,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE;AACxE,YAAA,eAAe,CAAC,MAAM,CAAC,CAAC,kBAAkB,GAAG,IAAI;;AAGnD,QAAA,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;QACrC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE;;;;;;;IAQrC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE;AAC9C,QAAA,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;;;AAI1C,IAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;;;AAIrF,IAAA,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;AACxB,QAAA,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;AACvB,QAAA,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACvB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AAC9B,QAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;AACtB,QAAA,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;;;IAIrB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,aAAa,GAAG,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IAC5E,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE;;;AAInF,IAAA,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;AACvB,QAAA,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;;AAGlE,IAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACnB,QAAA,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;;;IAItB,IAAI,MAAM,CAAC,EAAE,IAAI,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,eAAe,EAAE;AAC5F,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,GAAG,IAAI;;AAGhD,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,qBAAqB,CAAC,MAAyB,EAAA;AACtD,IAAA,IAAI,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe;AAE5D,IAAA,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE;IACnB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;QACvD,GAAG,GAAG,CAAC;QACP,GAAG,GAAG,CAAC;;;;;AAMP,QAAA,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;YAC9B,eAAe,GAAG,IAAI;;;SAEnB;QACL,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;QAC9B,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;AAE9B,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;AAEhD,QAAA,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;;AAG3D,QAAA,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;AAErC,QAAA,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;;AAElB,YAAA,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC;YAChB,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;gBAC9B,eAAe,GAAG,IAAI;;;AAEnB,aAAA,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;;AAEzB,YAAA,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG;AACtB,YAAA,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC5B,eAAe,GAAG,IAAI;;;aAEnB;;YAEL,OAAO,GAAG,GAAG;;;AAGjB,IAAA,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;AACtD,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,cAAc,GAAG,IAAI;;AACxC,SAAA,IAAI,eAAe,IAAI,IAAI,EAAE;AAClC,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,gBAAgB,GAAG,IAAI;;SAC1C;AACL,QAAA,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;AAC3B,QAAA,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS;;AAGpC,IAAA,OAAO,MAAM;AACf;;ACvJM,SAAU,aAAa,CAAC,MAAyB,EAAA;AACrD,IAAA,IAAI,QAAQ;AACZ,IAAA,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE;AAEnB,IAAA,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE;;QAEhD,QAAQ;AACN,YAAA,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK;AACnC,gBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI;oBAC5D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;AACpH,wBAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM;AACtC,4BAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM;AACtC,gCAAA,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,WAAW;AACtD,oCAAA,CAAC,CAAC;AAEhB,QAAA,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,kBAAkB,KAAK,QAAQ,GAAG,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE;YACtF,QAAQ,GAAG,IAAI;;AAEjB,QAAA,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,cAAc,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;YAC7D,QAAQ,GAAG,IAAI;;AAEjB,QAAA,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,gBAAgB,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;YAC/D,QAAQ,GAAG,OAAO;;AAGpB,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,QAAQ;;AAG7C,IAAA,OAAO,MAAM;AACf;;ACrBA;AACA;AACO,MAAM,QAAQ,GAAG,UAAU;AAElC;AACA;AACO,MAAM,QAAQ,GAAG,UAAU;AAElC;AACM,SAAU,yBAAyB,CAAC,MAAyB,EAAA;;AAEjE,IAAA,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE;AAC1B,QAAA,OAAO,aAAa,CAAC,MAAM,CAAC;;AAE9B,IAAA,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE;AAC1B,QAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC;;AAElC,IAAA,MAAM,CAAC,EAAE,GAAG,EAAE;AACd,IAAA,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI;IAEpC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;AACzD,QAAA,OAAO,MAAM;;;IAKf,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,sBAAsB,GAAG,CAAC;AAC9B,IAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM;AAChC,IAAA,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE;AAEpF,IAAA,IAAI,CAAC;AACL,IAAA,IAAI,KAAK;AACT,IAAA,IAAI,WAAW;AACf,IAAA,IAAI,OAAO;AACX,IAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,QAAA,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;QACjB,WAAW,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,WAAW,EAAE;AACf,YAAA,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACrD,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,eAAe,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;;AAEnD,YAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;AACpE,YAAA,sBAAsB,IAAI,WAAW,CAAC,MAAM;;;AAG9C,QAAA,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC/B,IAAI,WAAW,EAAE;AACf,gBAAA,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,KAAK;;iBAChC;gBACL,eAAe,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGlD,YAAA,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;;AAC9C,aAAA,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE;YACzC,eAAe,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;;;;IAKpD,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,GAAG,WAAW,GAAG,sBAAsB;AAC5E,IAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,eAAe,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAIjD,IAAA,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;AACvB,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,IAAI;QACxC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrB,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;;AAG1C,IAAA,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS;;IAEnD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC;IAEpF,eAAe,CAAC,MAAM,CAAC;AAEvB,IAAA,OAAO,aAAa,CAAC,MAAM,CAAC;AAC9B;AAGA,SAAS,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,QAAgB,EAAA;IACtE,IAAI,IAAI,GAAG,KAAK;AAEhB,IAAA,IAAI,QAAQ,IAAI,IAAI,EAAE;;AAEpB,QAAA,OAAO,IAAI;;AAGb,IAAA,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE;QAC/B,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;;AAG5C,IAAA,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;;AAEvB,QAAA,OAAO,IAAI;;;IAGb,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClC,IAAA,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE;QACrB,IAAI,IAAI,EAAE;;AAGZ,IAAA,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC;;AAGV,IAAA,OAAO,IAAI;AACb;;ACvHA;AACM,SAAU,wBAAwB,CAAC,MAAyB,EAAA;AAChE,IAAA,IAAI,UAAU;AACd,IAAA,IAAI,UAAU;AACd,IAAA,IAAI,WAAW;AACf,IAAA,IAAI,YAAY;AAEhB,IAAA,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,QAAA,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,GAAG,IAAI;AAE5C,QAAA,OAAO,aAAa,CAAC,MAAM,CAAC;;AAG9B,IAAA,IAAI,CAAC;AACL,IAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,YAAY,GAAG,CAAC;QAChB,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;AACtC,QAAA,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;AAC1B,YAAA,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;;QAErC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,yBAAyB,CAAC,UAAU,CAAC;AAErC,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACxB;;;AAIF,QAAA,YAAY,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,aAAa;;QAGzD,YAAY,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE;AAEpE,QAAA,eAAe,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,YAAY;QAEhD,IAAI,WAAW,IAAI,IAAI,IAAI,YAAY,GAAG,WAAW,EAAE;YACrD,WAAW,GAAG,YAAY;YAC1B,UAAU,GAAG,UAAU;;;IAI3B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,IAAI,UAAU,CAAC;AACxD;;AC1CM,SAAU,gBAAgB,CAAC,MAAyB,EAAA;AACxD,IAAA,IAAI,MAAM,CAAC,EAAE,EAAE;AACb,QAAA,OAAO,MAAM;;AAGf,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE;AACvB,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,QAAA,MAAM,CAAC,GAAG,oBAAoB,CAAC,KAAgC,CAAC;AAChE,QAAA,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY;;aAE/E,GAAG,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;;AAGxD,IAAA,OAAO,eAAe,CAAC,MAAM,CAAC;AAChC;;ACNA,SAAS,gBAAgB,CAAC,MAAyB,EAAA;IACjD,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;IAEhD,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;AAC1D,IAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,EAAE;QACtD,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;;;AAGxB;;;;AAIG;AAEH,IAAA,OAAO,GAAG;AACZ;AAEM,SAAU,aAAa,CAAC,MAAyB,EAAA;AACrD,IAAA,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE;AACrB,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE;AAExB,IAAA,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,IAAA,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,EAAE;QAC5D,OAAO,aAAa,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;AAGnD,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,QAAA,MAAM,CAAC,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;;AAG5D,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;AACjB,QAAA,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC;AAE5B,QAAA,OAAO,MAAM;;;AAKf,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;QACnB,wBAAwB,CAAC,MAAM,CAAC;;SAC3B,IAAI,MAAM,EAAE;QACjB,yBAAyB,CAAC,MAAM,CAAC;;SAC5B;QACL,eAAe,CAAC,MAAM,CAAC;;AAGzB,IAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACpB,QAAA,MAAM,CAAC,EAAE,GAAG,IAAI;;AAGlB,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,eAAe,CAAC,MAAyB,EAAA;AAChD,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE;AACvB,IAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;AACtB,QAAA,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE;;AACjB,SAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;AACxB,QAAA,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC;;AACvB,SAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC1B,gBAAgB,CAAC,MAAM,CAAC;;SACnB,IAAI,OAAO,CAAkB,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;QAC1D,MAAM,IAAI,GAAwB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,QAAA,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QACpE,eAAe,CAAC,MAAM,CAAC;;AAClB,SAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC1B,gBAAgB,CAAC,MAAM,CAAC;;AACnB,SAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;;QAE1B,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;;SACtB;;AAEL,QAAA,OAAO,aAAa,CAAC,MAAM,CAAC;;AAG9B,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,gBAAgB,CAAC,KAAgB,EAAE,MAA0B,EAAE,SAAkB,EAAE,MAAgB,EAAE,KAAe,EAAA;IAClI,MAAM,MAAM,GAAsB,EAAE;IACpC,IAAI,MAAM,GAAG,KAAK;;;;;;;IASlB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;QAC3F,MAAM,GAAG,SAAS;;;;;IAKpB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK;AACtC,IAAA,MAAM,CAAC,EAAE,GAAG,SAAS;AACrB,IAAA,MAAM,CAAC,EAAE,GAAG,MAAM;AAClB,IAAA,MAAM,CAAC,EAAE,GAAG,MAAM;AAClB,IAAA,MAAM,CAAC,OAAO,GAAG,MAAM;AAEvB,IAAA,OAAO,gBAAgB,CAAC,MAAM,CAAC;AACjC;;AChHM,SAAU,SAAS,CAAC,KAAgB,EAAE,MAA0B,EAC5C,SAAkB,EAAE,MAAgB,EAAE,KAAe,EAAA;AAC7E,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;AACjB,QAAA,OAAO,KAAK;;AAGd,IAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;IAExE,OAAO,MAAM,CAAC,EAAE;AAClB;AAEM,SAAU,UAAU,CAAC,IAAI,EAAA;AAC7B,IAAA,IAAI,EAAE,IAAI,YAAY,IAAI,CAAC,EAAE;AAC3B,QAAA,OAAO,IAAI;;AAGb,IAAA,OAAO,IAAI,IAAI,CACb,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,kBAAkB,EAAE,CAC1B;AACH;;AC7BM,SAAU,QAAQ,CAAC,GAAW,EAAA;IAClC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D;;ACCM,SAAU,OAAO,CACrB,KAAY,EACZ,KAAY,EACZ,QAAoB,cAAc,EAAA;AAElC,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,QAAA,OAAO,KAAK;;AAGd,IAAA,IAAI,KAAK,KAAK,cAAc,EAAE;QAC5B,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;;AAG1C,IAAA,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1D;AAEM,SAAU,QAAQ,CACtB,KAAY,EACZ,KAAY,EACZ,QAAoB,cAAc,EAAA;AAElC,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,QAAA,OAAO,KAAK;;AAGd,IAAA,IAAI,KAAK,KAAK,cAAc,EAAE;QAC5B,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;;AAG1C,IAAA,OAAO,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;AACxD;AAEgB,SAAA,aAAa,CAAC,IAAW,EAAE,YAAuB,EAAA;AAChE,IAAA,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAChF,QAAA,OAAO,KAAK;;AAGd,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,GAAW,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;AAClE;AAEgB,SAAA,SAAS,CACvB,IAAU,EACV,IAAU,EACV,EAAQ,EACR,KAAiB,EACjB,WAAW,GAAG,IAAI,EAAA;AAElB,IAAA,MAAM,SAAS,GACb,WAAW,CAAC,CAAC,CAAC,KAAK;UACf,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK;UACzB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC,IAAA,MAAM,UAAU,GACd,WAAW,CAAC,CAAC,CAAC,KAAK;UACf,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK;UACxB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC;IAE/B,OAAO,SAAS,IAAI,UAAU;AAChC;AAEM,SAAU,MAAM,CACpB,KAAY,EACZ,KAAY,EACZ,QAAoB,cAAc,EAAA;AAElC,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,QAAA,OAAO,KAAK;;AAGd,IAAA,IAAI,KAAK,KAAK,cAAc,EAAE;QAC5B,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;;AAG5C,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE;IAE/B,QACE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,OAAO;QAC1C,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;AAE5C;AAEgB,SAAA,SAAS,CAAC,KAAW,EAAE,KAAW,EAAA;IAChD,QAAQ,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAC1C;SAEgB,aAAa,CAC3B,KAAW,EACX,KAAW,EACX,KAAkB,EAAA;AAElB,IAAA,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACpE;SAEgB,cAAc,CAC5B,KAAW,EACX,KAAW,EACX,KAAkB,EAAA;AAElB,IAAA,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACrE;;ACrGA;AAcA,MAAM,WAAW,GAAG,0DAA0D;AAE9E;AACA;AACA;AACA,MAAM,QAAQ,GAAG,qKAAqK;AAIhL,SAAU,cAAc,CAAC,KAAqB,EAAE,GAAY,EAAE,SAA4B,EAAE,EAAA;IAChG,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC;;AAG5C,IAAA,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;AACvC;AAEA,SAAS,eAAe,CAAC,KAAU,EAAE,GAAW,EAAA;;AAE9C,IAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,OAAO,EAAE;;AAGX,IAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACrB,OAAO;YACL,YAAY,EAAE,KAAK,CAAC,aAAa;YACjC,GAAG,EAAE,KAAK,CAAC,KAAK;YAChB,KAAK,EAAE,KAAK,CAAC;SACd;;AAEH,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;;AAEnB,QAAA,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE;;AAGzD,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACnB,IAAI,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAEnC,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;YAExC,OAAO;AACL,gBAAA,IAAI,EAAE,CAAC;gBACP,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;gBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;gBAChC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;gBACpC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;;AAEpC,gBAAA,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;aACnE;;AAGH,QAAA,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;YAEjE,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC/B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC9B,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC/B,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBACjC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI;aACjC;;;AAKL,IAAA,IAAI,QAAQ,CAAuB,KAAK,CAAC,KAAK,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE;AAC/E,QAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE7E,OAAO;YACL,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC;SAChB;;AAGH,IAAA,OAAO,KAAK;AACd;AAEA;AACA;AAEA,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAA;;;;AAIzC,IAAA,MAAM,GAAG,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;AAGpD,IAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI;AACtC;AAEA,SAAS,yBAAyB,CAAC,IAAU,EAAE,KAAW,EAAA;IACxD,MAAM,GAAG,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;IAE1C,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC3C,QAAA,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;AAC/C,IAAA,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3D,IAAA,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;QAC7B,EAAE,GAAG,CAAC,MAAM;;IAGd,GAAG,CAAC,YAAY,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExE,IAAA,OAAO,GAAG;AACZ;AAEA,SAAS,iBAAiB,CAAC,IAAU,EAAE,KAAW,EAAA;AAChD,IAAA,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;QAC9C,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;;AAGvC,IAAA,IAAI,GAAG;AACP,IAAA,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAC,CAAC;AAChF,IAAA,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;AAC1B,QAAA,GAAG,GAAG,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC;;SACxC;AACL,QAAA,GAAG,GAAG,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7C,QAAA,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,YAAY;AACpC,QAAA,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM;;AAG1B,IAAA,OAAO,GAAG;AACZ;;AClIM,SAAU,GAAG,CAAC,IAAU,EAAE,GAAW,EAAE,MAAkB,EAAE,KAAe,EAAA;IAC9E,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC;IAEvC,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC;AACzC;AAEM,SAAU,QAAQ,CAAC,IAAU,EAAE,GAAW,EAAE,MAAkB,EAAE,KAAe,EAAA;IACnF,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC;IAEvC,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;AAC1C;AAEM,SAAU,WAAW,CAAC,IAAU,EAAE,QAAkB,EAAE,QAAgB,EAAE,KAAe,EAAA;AAC3F,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;;;IAKzC,IAAI,MAAM,EAAE;AACV,QAAA,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,QAAQ,EAAE,KAAK,CAAC;;IAElE,IAAI,IAAI,EAAE;AACR,QAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,QAAQ,EAAE,KAAK,CAAC;;IAE9D,IAAI,YAAY,EAAE;AAChB,QAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC;;AAGxD,IAAA,OAAO,SAAS,CAAC,IAAI,CAAC;;;;;AAKxB;;SC5BgB,aAAa,GAAA;;IAG3B,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAC5B,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aAC3B,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;IAED,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAC7B,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;AAC/D,KAAC,CACF;IAED,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAC9B,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;AACjE,KAAC,CACF;IAED,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAC/B,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;AAC5D,KAAC,CACF;IAED,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAC5B,UAAS,IAAU,EAAE,IAA0B,EAAA;QAC7C,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK;aACpD,QAAQ,CAAC,EAAE,CAAC;;AAEjB,KAAC,CACF;IACD,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAC5B,UAAS,IAAU,EAAE,IAA0B,EAAA;AAC7C,QAAA,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK;aACpC,QAAQ,CAAC,EAAE,CAAC;AACjB,KAAC,CACF;;AAID,IAAA,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC;AACxB,IAAA,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC;AAC5B,IAAA,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC;;AAG/B,IAAA,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;AAC1B,IAAA,eAAe,CAAC,SAAS,EAAE,EAAE,CAAC;AAC9B,IAAA,eAAe,CAAC,YAAY,EAAE,EAAE,CAAC;;AAIjC,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC7B,IAAA,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAE7B,IAAA,aAAa,CAAC,IAAI,EAAE,UAAS,QAAiB,EAAE,MAAc,EAAA;AAC5D,QAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC1C,KAAC,CAAC;AAEF,IAAA,aAAa,CAAC,KAAK,EAAE,UAAS,QAAiB,EAAE,MAAc,EAAA;AAC7D,QAAA,OAAO,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC;AAC5C,KAAC,CAAC;AACF,IAAA,aAAa,CAAC,MAAM,EAAE,UAAS,QAAiB,EAAE,MAAc,EAAA;AAC9D,QAAA,OAAO,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;AACvC,KAAC,CAAC;AAEF,IAAA,iBAAiB,CACf,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EACrB,UAAS,KAAa,EAAE,IAAiB,EAAE,MAAyB,EAAE,KAAK,EAAA;AACzE,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;;AAE1E,QAAA,IAAI,OAAO,IAAI,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO;;aACd;YACL,eAAe,CAAC,MAAM,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,KAAK;;AAGlD,QAAA,OAAO,MAAM;AACf,KAAC,CACF;AAED,IAAA,iBAAiB,CACf,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,UAAS,KAAa,EAAE,IAAiB,EAAE,MAAyB,EAAE,KAAa,EAAA;QACjF,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AAE1B,QAAA,OAAO,MAAM;AACf,KAAC,CACF;AACH;AAEA;AAEgB,SAAA,YAAY,CAAC,KAAsB,EAAE,MAAc,EAAA;AACjE,IAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACpB,QAAA,OAAO,KAAK;;IAGd,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;AAChC,IAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAChB,QAAA,OAAO,IAAI;;IAGb,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5C,IAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACtB,QAAA,OAAO,QAAQ;;AAGjB,IAAA,OAAO,IAAI;AACb;SAEgB,eAAe,CAAC,KAAsB,EAAE,MAAA,GAAiB,SAAS,EAAE,EAAA;AAClF,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACnB,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;;AAG7C,IAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK;AACvD;AAEA;SAEgB,eAAe,CAAC,IAAU,EAAE,KAAa,EAAE,IAAyC,EAAA;IAClG,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;;AAGvC,IAAA,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;AAC3D;AAEgB,SAAA,YAAY,CAAC,IAAU,EAAE,KAAa,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,KAAe,EAAA;IAC3F,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;IAE1C,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC;AACvC;AAEgB,SAAA,YAAY,CAAC,IAAU,EAAE,KAAe,EAAA;AACtD,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AAC5B;AAEA;AAEA;AACA;AACM,SAAU,kBAAkB,CAAC,IAAU,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,KAAe,EAAA;AAClF,IAAA,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC;AAChE;AAEM,SAAU,kBAAkB,CAAC,IAAU,EAAE,KAAa,EAAE,OAA6C,EAAE,EAAA;AAC3G,IAAA,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;IAEjE,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;AAC1C;AAGA;AACgB,SAAA,eAAe,CAAC,IAAU,EAAE,KAAe,EAAA;IACzD,OAAO,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AACjC;AAEM,SAAU,eAAe,CAAC,IAAU,EAAE,KAAsB,EAAE,OAA4B,EAAE,EAAA;;;;IAKhG,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;IAEnD,OAAO,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;AAC3E;;AC3LA;AACA;AACA;AACA;AACA;AAIA,MAAMC,WAAS,GAA4B;AACzC,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE;CACJ;AACD,MAAMC,WAAS,GAA4B;AACzC,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE;CACN;AACD,MAAMC,YAAU,GAAG,UAAU,GAAW,EAAA;AACtC,IAAA,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;AACxH,CAAC;AACD,MAAMC,SAAO,GAAgF;AAC3F,IAAA,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;AAC7F,IAAA,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;AAC9F,IAAA,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;AACxF,IAAA,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC;AAClF,IAAA,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;AACjF,IAAA,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ;CACnF;AACD,MAAMC,WAAS,GAAG,UAAU,CAAS,EAAA;IACnC,OAAO,UAAU,GAAW,EAAE,aAAsB,EAAA;AAClD,QAAA,MAAM,CAAC,GAAGF,YAAU,CAAC,GAAG,CAAC;AACzB,QAAA,IAAI,GAAG,GAAGC,SAAO,CAAC,CAAC,CAAC,CAACD,YAAU,CAAC,GAAG,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE;AACX,YAAA,GAAG,GAAG,GAAG,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;;QAGlC,OAAQ,GAAc,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AACvD,KAAC;AACH,CAAC;AACD,MAAMG,QAAM,GAAa;IACvB,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR;CACD;AAEY,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;YACVA,QAAM;AACN,IAAA,WAAW,EAAEA,QAAM;AACnB,IAAA,QAAQ,EAAE,qDAAqD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,aAAa,EAAE,uCAAuC,CAAC,KAAK,CAAC,GAAG,CAAC;AACjE,IAAA,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,sBAAsB;AACzB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,IAAI,CAAC,KAAK,EAAA;QACR,OAAO,GAAG,KAAK,KAAK;KACrB;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACb,YAAA,OAAO,GAAG;;aACL;AACL,YAAA,OAAO,GAAG;;KAEb;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,uBAAuB;AAChC,QAAA,OAAO,EAAE,sBAAsB;AAC/B,QAAA,QAAQ,EAAE,sBAAsB;AAChC,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE,sBAAsB;AAChC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,CAAC,EAAED,WAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAEA,WAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAEA,WAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAEA,WAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAEA,WAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAEA,WAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAEA,WAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAEA,WAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAEA,WAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAEA,WAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAEA,WAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAEA,WAAS,CAAC,GAAG;AAClB,KAAA;AACD,IAAA,QAAQ,CAAC,GAAW,EAAA;AAClB,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,KAAK,EAAA;AACjD,YAAA,OAAOH,WAAS,CAAC,KAAK,CAAC;SACxB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;KACtB;AACD,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,KAAK,EAAA;AACvC,YAAA,OAAOD,WAAS,CAAC,KAAK,CAAC;SACxB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;KACtB;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,EAAE;AACR;;;AClIH;AACA;AACA;AACA;AACA;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,mFAAmF,CAAC,KAAK,CAAC,GAAG,CAAC;AACtG,IAAA,WAAW,EAAE,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,IAAA,QAAQ,EAAE,wDAAwD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7E,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,kBAAkB;AACvB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,UAAU,CAAM,EAAA;YAExB,QAAQ,CAAC;AACP,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,4BAA4B;AACrC,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,2BAA2B;;SAEvC;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,CAAC,EAAE,iBAAiB;AACpB,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,CAAC,EAAE,OAAO;AACV,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,6BAA6B;IACrD,OAAO,EAAE,UAAU,IAAY,EAAA;AAE7B,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAE3B,IAAI,SAAS,GAAG,MAAM,GAAG,EAAE,EACzB,WAAW,GAAG,MAAM,GAAG,GAAG;AAE5B,QAAA,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,OAAO,MAAM,GAAG,KAAK;;AAChB,aAAA,IAAI,WAAW,KAAK,CAAC,EAAE;YAC5B,OAAO,MAAM,GAAG,KAAK;;aAChB,IAAI,WAAW,GAAG,EAAE,IAAI,WAAW,GAAG,EAAE,EAAE;YAC/C,OAAO,MAAM,GAAG,KAAK;;AAChB,aAAA,IAAI,SAAS,KAAK,CAAC,EAAE;YAC1B,OAAO,MAAM,GAAG,KAAK;;AAChB,aAAA,IAAI,SAAS,KAAK,CAAC,EAAE;YAC1B,OAAO,MAAM,GAAG,KAAK;;aAChB,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAC7C,OAAO,MAAM,GAAG,KAAK;;aAChB;YACL,OAAO,MAAM,GAAG,KAAK;;KAExB;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACvFH;AACA;AACA;AAEA,IAAIM,gBAAc,GAAG,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC,EAC3FC,aAAW,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAE5E,IAAIC,aAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AAC9H,IAAIC,aAAW,GAAG,2KAA2K;AAEhL,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,mFAAmF,CAAC,KAAK,CAAC,GAAG,CAAC;AACtG,IAAA,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QACrD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAOH,gBAAc;;AAGvB,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,OAAOC,aAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;QAG3C,OAAOD,gBAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC7C;iBACDG,aAAW;AACX,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,iBAAiB,EAAE,uFAAuF;AAC1G,IAAA,sBAAsB,EAAE,yFAAyF;iBACjHD,aAAW;AACX,IAAA,eAAe,EAAEA,aAAW;AAC5B,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,QAAQ,EAAE,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC;AAClF,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,uBAAuB;AAC3B,QAAA,GAAG,EAAE,4BAA4B;AACjC,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM;SAC1E;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM;SAC1E;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM;SAC1E;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM;SAC1E;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,aAAa,IAAI,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,MAAM;SAC/F;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,wBAAwB;AAChD,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;AACxB,QAAA,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG;AAC1B,YAAA,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG;gBAC5B,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG;AACf,oBAAA,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG;QAC/B,OAAO,GAAG,GAAG,MAAM;KACpB;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACzFH;AACA;AACA;AAEA,MAAMH,QAAM,GAAa,mFAAmF,CAAC,KAAK,CAAC,GAAG,CAAC;AACvH,MAAME,aAAW,GAAa,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAE1F,SAASG,QAAM,CAAC,GAAW,EAAA;IACzB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACvD;AAEA,SAASC,WAAS,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;AACpF,IAAA,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG;IAExB,QAAQ,GAAG;QACT,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,YAAY,GAAG,eAAe;QACrE,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAID,QAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC;;iBAC/C;gBACL,OAAO,MAAM,GAAG,WAAW;;;QAG/B,KAAK,GAAG;AACN,YAAA,OAAO,aAAa,GAAG,QAAQ,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACrE,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;;iBAC7C;gBACL,OAAO,MAAM,GAAG,UAAU;;;QAG9B,KAAK,GAAG;AACN,YAAA,OAAO,aAAa,GAAG,QAAQ,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACrE,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;;iBAC7C;gBACL,OAAO,MAAM,GAAG,UAAU;;;QAG9B,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,KAAK,GAAG,MAAM;QACrD,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;;iBACxC;gBACL,OAAO,MAAM,GAAG,KAAK;;;QAGzB,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS;QAC1D,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC;;iBAC9C;gBACL,OAAO,MAAM,GAAG,QAAQ;;;QAG5B,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,KAAK,GAAG,OAAO;QACtD,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;;iBACzC;gBACL,OAAO,MAAM,GAAG,MAAM;;;;AAI9B;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;YACVL,QAAM;iBACNE,aAAW;AACX,IAAA,WAAW,GAAG,UAAU,MAAM,EAAE,WAAW,EAAA;AACzC,QAAA,IAAI,CAAC,EAAE,YAAY,GAAG,EAAE;QACxB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;;YAEvB,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;;AAEnF,QAAA,OAAO,YAAY;AACrB,KAAC,CAACF,QAAM,EAAEE,aAAW,CAAC,CAAC;IACvB,gBAAgB,GAAG,UAAU,WAAW,EAAA;AACtC,QAAA,IAAI,CAAC,EAAE,iBAAiB,GAAG,EAAE;QAC7B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACvB,YAAA,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;;AAEpE,QAAA,OAAO,iBAAiB;KACzB,CAACA,aAAW,CAAC,CAAC;IACf,eAAe,GAAG,UAAU,MAAM,EAAA;AAChC,QAAA,IAAI,CAAC,EAAE,gBAAgB,GAAG,EAAE;QAC5B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACvB,YAAA,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;;AAE9D,QAAA,OAAO,gBAAgB;KACxB,CAACF,QAAM,CAAC,CAAC;AACV,IAAA,QAAQ,EAAE,kDAAkD,CAAC,KAAK,CAAC,GAAG,CAAC;AACvE,IAAA,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,CAAC,EAAE;AACJ,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;AAC1B,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;AAC1B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,kBAAkB;AAC3B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,mBAAmB;AAC5B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,gBAAgB;AACzB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;;SAE7B;AACD,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,uBAAuB;AAChC,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,sBAAsB;AAC/B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,uBAAuB;AAChC,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,sBAAsB;AAC/B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,uBAAuB;;SAEnC;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAEM,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC3KH;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,qFAAqF,CAAC,KAAK,CAAC,GAAG,CAAC;AACzG,IAAA,WAAW,EAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAG,oDAAoD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,aAAa,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,cAAc,EAAG;AACb,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,cAAc;AACnB,QAAA,GAAG,EAAG,oBAAoB;AAC1B,QAAA,IAAI,EAAG;AACV,KAAA;AACD,IAAA,QAAQ,EAAG;AACP,QAAA,OAAO,EAAG,gBAAgB;AAC1B,QAAA,OAAO,EAAG,mBAAmB;AAC7B,QAAA,QAAQ,EAAG,kBAAkB;AAC7B,QAAA,OAAO,EAAG,gBAAgB;AAC1B,QAAA,QAAQ,EAAG,oBAAoB;AAC/B,QAAA,QAAQ,EAAG;AACd,KAAA;AACD,IAAA,YAAY,EAAG;AACX,QAAA,MAAM,EAAG,OAAO;AAChB,QAAA,IAAI,EAAG,UAAU;AACjB,QAAA,CAAC,EAAG,aAAa;AACjB,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,QAAQ;AACZ,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,CAAC,EAAG,OAAO;AACX,QAAA,EAAE,EAAG;AACR,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAG,KAAK;AACf,IAAA,IAAI,EAAG;QACH,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACV;;;AC/CH;AACA;AACA;AACA;AACA;AAEA,SAASC,qBAAmB,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;AAC9F,IAAA,MAAM,MAAM,GAAwC;AAClD,QAAA,GAAG,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;AACpC,QAAA,GAAG,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;AACpC,QAAA,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QAC7B,IAAI,EAAE,CAAC,GAAG,GAAG,OAAO,EAAE,GAAG,GAAG,QAAQ,CAAC;AACrC,QAAA,GAAG,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;QACjC,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,GAAG,GAAG,UAAU,CAAC;AACzC,QAAA,GAAG,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;QAC/B,IAAI,EAAE,CAAC,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,SAAS;KACvC;IACD,OAAO,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxD;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,oFAAoF,CAAC,KAAK,CAAC,GAAG,CAAC;AACvG,IAAA,WAAW,EAAE,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC;AACpF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC;AAClF,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,GAAG,EAAE,oBAAoB;AACzB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,sBAAsB;AAC/B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,OAAO,EAAE,uBAAuB;AAChC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAEA,qBAAmB;AACtB,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAEA,qBAAmB;AACtB,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAEA,qBAAmB;AACtB,QAAA,EAAE,EAAEA,qBAAmB;AACvB,QAAA,CAAC,EAAEA,qBAAmB;AACtB,QAAA,EAAE,EAAEA,qBAAmB;AACvB,QAAA,CAAC,EAAEA,qBAAmB;AACtB,QAAA,EAAE,EAAEA;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AClEH;AACA;AACA;AAEa,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAG,uFAAuF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3G,IAAA,WAAW,EAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAG,0DAA0D,CAAC,KAAK,CAAC,GAAG,CAAC;AAChF,IAAA,aAAa,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,GAAG,EAAG,mBAAmB;AACzB,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,eAAe;AACzB,QAAA,OAAO,EAAG,kBAAkB;AAC5B,QAAA,QAAQ,EAAG,cAAc;AACzB,QAAA,OAAO,EAAG,mBAAmB;AAC7B,QAAA,QAAQ,EAAG,qBAAqB;AAChC,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,OAAO;AAChB,QAAA,IAAI,EAAG,QAAQ;AACf,QAAA,CAAC,EAAG,eAAe;AACnB,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,OAAO;AACX,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,WAAW;AAChB,QAAA,CAAC,EAAG,QAAQ;AACZ,QAAA,EAAE,EAAG;AACN,KAAA;AACD,IAAA,sBAAsB,EAAE,sBAAsB;AAC9C,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,EAChB,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI;YACxC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI;gBACd,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI;AACd,oBAAA,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI;QAC/B,OAAO,GAAG,GAAG,MAAM;KACpB;AACD,IAAA,IAAI,EAAG;QACL,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACR;;;ACvDH;AACA;AAEA,IAAIN,gBAAc,GAAG,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC,EAC3FC,aAAW,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAE5E,IAAIC,aAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AAC9H,IAAIC,aAAW,GAAG,kLAAkL;AAEvL,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,0FAA0F,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7G,IAAA,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QACrD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAOH,gBAAc;;AAChB,aAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAOC,aAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;aACpC;YACL,OAAOD,gBAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;KAE/C;iBACDG,aAAW;AACX,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,iBAAiB,EAAE,8FAA8F;AACjH,IAAA,sBAAsB,EAAE,yFAAyF;iBACjHD,aAAW;AACX,IAAA,eAAe,EAAEA,aAAW;AAC5B,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,QAAQ,EAAE,sDAAsD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3E,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,GAAG,EAAE,WAAW;AAChB,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,uBAAuB;AAC3B,QAAA,GAAG,EAAE,8BAA8B;AACnC,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAClE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACrE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACnE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACnE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,wBAAwB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAC/E;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,eAAe;AAClB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,UAAU;AAClC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC/EH;AACA;AACA;AAEA,IAAIF,gBAAc,GAAG,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC,EAC3FC,aAAW,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAE5E,IAAIC,aAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AAC9H,IAAIC,aAAW,GAAG,kLAAkL;AAEvL,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,0FAA0F,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7G,IAAA,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QACrD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAOH,gBAAc;;AAGvB,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,OAAOC,aAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;QAG3C,OAAOD,gBAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC7C;iBACDG,aAAW;AACX,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,iBAAiB,EAAE,8FAA8F;AACjH,IAAA,sBAAsB,EAAE,yFAAyF;iBACjHD,aAAW;AACX,IAAA,eAAe,EAAEA,aAAW;AAC5B,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,QAAQ,EAAE,sDAAsD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3E,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,uBAAuB;AAC3B,QAAA,GAAG,EAAE,4BAA4B;AACjC,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAClE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACrE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACnE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACnE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,wBAAwB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAC/E;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,eAAe;AAClB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,UAAU;AAClC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AClFH;AACA;AAEA,IAAIF,gBAAc,GAAG,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7F,IAAIC,aAAW,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAEjE,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,0FAA0F,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7G,IAAA,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QACrD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAOD,gBAAc;;AAChB,aAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAOC,aAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;aACpC;YACL,OAAOD,gBAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;KAE/C;AACD,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,sDAAsD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3E,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,GAAG,EAAE,WAAW;AAChB,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,uBAAuB;AAC3B,QAAA,GAAG,EAAE,8BAA8B;AACnC,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAClE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACrE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACnE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACnE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,wBAAwB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAC/E;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,eAAe;AAClB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,UAAU;AAClC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACtEH;AACA;AACA;AAEA,IAAIA,gBAAc,GAAG,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7F,IAAIC,aAAW,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAEjE,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,0FAA0F,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7G,IAAA,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QACrD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAOD,gBAAc;;AAChB,aAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAOC,aAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;aACpC;YACL,OAAOD,gBAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;KAE/C;AACD,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,sDAAsD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3E,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,GAAG,EAAE,WAAW;AAChB,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,uBAAuB;AAC3B,QAAA,GAAG,EAAE,8BAA8B;AACnC,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAClE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACrE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACnE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACnE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,wBAAwB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAC/E;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,eAAe;AAClB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,UAAU;AAClC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACxEH;AACA;AACA;AAEA,MAAMM,qBAAmB,GAAG,UAAU,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;AACvG,IAAA,MAAM,MAAM,GAAG;AACX,QAAA,CAAC,EAAG,CAAC,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC;QACpD,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,GAAG,GAAG,UAAU,CAAC;AACvC,QAAA,CAAC,EAAG,CAAC,YAAY,EAAE,WAAW,CAAC;QAC/B,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,GAAG,GAAG,UAAU,CAAC;AACvC,QAAA,CAAC,EAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC;QAC1C,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAAC;AACpC,QAAA,CAAC,EAAG,CAAC,WAAW,EAAE,UAAU,CAAC;AAC7B,QAAA,CAAC,EAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;QACtC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC;AACjC,QAAA,CAAC,EAAG,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC;QACvC,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,SAAS;KACvC;IACD,IAAI,aAAa,EAAE;QACf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;IAE3D,OAAO,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAEY,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,4FAA4F,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/G,IAAA,WAAW,EAAE,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC;AACpF,IAAA,QAAQ,EAAE,gEAAgE,CAAC,KAAK,CAAC,GAAG,CAAC;AACrF,IAAA,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACzC,IAAA,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAI,MAAM;AACZ,QAAA,GAAG,EAAG,SAAS;AACf,QAAA,CAAC,EAAK,YAAY;AAClB,QAAA,EAAE,EAAI,cAAc;AACpB,QAAA,GAAG,EAAG,mBAAmB;AACzB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAG,YAAY;AACtB,QAAA,OAAO,EAAG,aAAa;AACvB,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,OAAO,EAAG,YAAY;AACtB,QAAA,QAAQ,EAAE,mBAAmB;AAC7B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,WAAW;AACpB,QAAA,IAAI,EAAK,WAAW;AACpB,QAAA,CAAC,EAAQA,qBAAmB;AAC5B,QAAA,EAAE,EAAOA,qBAAmB;AAC5B,QAAA,CAAC,EAAQA,qBAAmB;AAC5B,QAAA,EAAE,EAAOA,qBAAmB;AAC5B,QAAA,CAAC,EAAQA,qBAAmB;AAC5B,QAAA,EAAE,EAAOA,qBAAmB;AAC5B,QAAA,CAAC,EAAQA,qBAAmB;AAC5B,QAAA,EAAE,EAAO,UAAU;AACnB,QAAA,CAAC,EAAQA,qBAAmB;AAC5B,QAAA,EAAE,EAAOA,qBAAmB;AAC5B,QAAA,CAAC,EAAQA,qBAAmB;AAC5B,QAAA,EAAE,EAAOA;AACV,KAAA;AACD,IAAA,sBAAsB,EAAG,UAAU;AACnC,IAAA,OAAO,EAAG,KAAK;AACf,IAAA,IAAI,EAAG;QACH,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACV;;;ACpEH;AACA;AAEA,IAAI,WAAW,GAAG,uEAAuE,CAAC,KAAK,CAAC,GAAG,CAAC,EAClG,aAAa,GAAG;IACd,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;AAClE,IAAA,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;CAC9C;AAEH,SAASD,WAAS,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;IACpF,IAAI,MAAM,GAAG,EAAE;IACf,QAAQ,GAAG;AACT,QAAA,KAAK,GAAG;YACN,OAAO,QAAQ,GAAG,mBAAmB,GAAG,iBAAiB;AAC3D,QAAA,KAAK,IAAI;YACP,OAAO,QAAQ,GAAG,UAAU,GAAG,UAAU;AAC3C,QAAA,KAAK,GAAG;YACN,OAAO,QAAQ,GAAG,UAAU,GAAG,UAAU;AAC3C,QAAA,KAAK,IAAI;YACP,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW;YAC5C;AACF,QAAA,KAAK,GAAG;YACN,OAAO,QAAQ,GAAG,QAAQ,GAAG,OAAO;AACtC,QAAA,KAAK,IAAI;YACP,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ;YACvC;AACF,QAAA,KAAK,GAAG;YACN,OAAO,QAAQ,GAAG,QAAQ,GAAG,OAAO;AACtC,QAAA,KAAK,IAAI;YACP,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ;YACvC;AACF,QAAA,KAAK,GAAG;YACN,OAAO,QAAQ,GAAG,WAAW,GAAG,UAAU;AAC5C,QAAA,KAAK,IAAI;YACP,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW;YAC7C;AACF,QAAA,KAAK,GAAG;YACN,OAAO,QAAQ,GAAG,QAAQ,GAAG,OAAO;AACtC,QAAA,KAAK,IAAI;YACP,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ;YACvC;;IAEJ,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,GAAG,MAAM;AACnD,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,YAAY,CAAC,GAAW,EAAE,QAAiB,EAAA;IAClD,OAAO,GAAG,GAAG,EAAE,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG;AAC5E;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,0GAA0G,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7H,IAAA,WAAW,EAAE,sEAAsE,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9F,IAAA,QAAQ,EAAE,oEAAoE,CAAC,KAAK,CAAC,GAAG,CAAC;AACzF,IAAA,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,kBAAkB;AACtB,QAAA,GAAG,EAAE,+BAA+B;AACpC,QAAA,IAAI,EAAE,qCAAqC;AAC3C,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,0BAA0B;AAC/B,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,mBAAmB;AAC5B,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,QAAQ,EAAE,2BAA2B;AACrC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,WAAW;AACnB,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AClGH;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,sFAAsF,CAAC,KAAK,CAAC,GAAG,CAAC;AACzG,IAAA,WAAW,EAAE,gEAAgE,CAAC,KAAK,CAAC,GAAG,CAAC;AACxF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,qDAAqD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,QAAQ,EAAE,qBAAqB;AAC/B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,OAAO;AACV,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,cAAc;IACtC,OAAO,CAAC,IAAY,EAAE,MAAc,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,QAAQ,MAAM;;;;AAIZ,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;;YAGtC;AACA,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,KAAK;AACV,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;;AAGvC,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;;KAE1C;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACxEH;AACA;AACA;AAEa,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,sFAAsF,CAAC,KAAK,CAAC,GAAG,CAAC;AACzG,IAAA,WAAW,EAAE,gEAAgE,CAAC,KAAK,CAAC,GAAG,CAAC;AACxF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,qDAAqD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,QAAQ,EAAE,qBAAqB;AAC/B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,OAAO;AACV,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,gBAAgB;IACxC,OAAO,CAAC,IAAY,EAAE,MAAc,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,QAAQ,MAAM;AACZ,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;;YAGtC;AACA,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,KAAK;AACV,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;;AAGvC,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;;KAE1C;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACpEH;AACA;AACA;AAEA,IAAI,cAAc,GAAG,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC,EAC3FJ,aAAW,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAE5E,IAAIC,aAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AAC9H,IAAIC,aAAW,GAAG,gLAAgL;AAErL,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,wFAAwF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3G,IAAA,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QACrD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,cAAc;;AAGvB,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,OAAOF,aAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;QAG3C,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC7C;iBACDE,aAAW;AACX,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,iBAAiB,EAAE,4FAA4F;AAC/G,IAAA,sBAAsB,EAAE,yFAAyF;iBACjHD,aAAW;AACX,IAAA,eAAe,EAAEA,aAAW;AAC5B,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,QAAQ,EAAE,kDAAkD,CAAC,KAAK,CAAC,GAAG,CAAC;AACvE,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,uBAAuB;AAC3B,QAAA,GAAG,EAAE,4BAA4B;AACjC,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAChE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SACjE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAChE;AACD,QAAA,OAAO,CAAC,IAAU,EAAA;YAChB,OAAO,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAChE;AACD,QAAA,QAAQ,CAAC,IAAU,EAAA;YACjB,OAAO,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;SAC3E;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,CAAC,EAAE,cAAc;AACjB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,UAAU;AAClC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACnFH;AACA;AACA;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,yEAAyE,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5F,IAAA,WAAW,EAAE,2DAA2D,CAAC,KAAK,CAAC,GAAG,CAAC;AACnF,IAAA,QAAQ,EAAE,sCAAsC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3D,IAAA,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,gBAAgB;AACpB,QAAA,GAAG,EAAE,sBAAsB;AAC3B,QAAA,IAAI,EAAE,4BAA4B;AAClC,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,GAAG,EAAE,kBAAkB;AACvB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,EAAE,8BAA8B;AACxC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,CAAC,GAAW,EAAA;AACZ,YAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,gBAAA,OAAO,QAAQ;;YAEjB,OAAO,GAAG,GAAG,OAAO;SACrB;AACD,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,CAAC,GAAW,EAAA;AACZ,YAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,gBAAA,OAAO,QAAQ;;YAEjB,OAAO,GAAG,GAAG,OAAO;SACrB;AACD,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,CAAC,GAAW,EAAA;AACZ,YAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,gBAAA,OAAO,SAAS;;YAElB,OAAO,GAAG,GAAG,SAAS;SACvB;AACD,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,CAAC,GAAW,EAAA;AACZ,YAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,gBAAA,OAAO,QAAQ;;iBACV,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE;gBACvC,OAAO,GAAG,GAAG,MAAM;;YAErB,OAAO,GAAG,GAAG,OAAO;;AAEvB,KAAA;AACD,IAAA,aAAa,EAAE,+DAA+D;AAC9E,IAAA,IAAI,CAAC,KAAK,EAAA;AACR,QAAA,OAAO,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC;KACjD;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,YAAY;;AACd,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,YAAA,OAAO,OAAO;;AACT,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACpB,OAAO,OAAO,GAAG,QAAQ,GAAG,cAAc;;AACrC,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACpB,OAAO,OAAO,GAAG,OAAO,GAAG,cAAc;;aACpC;AACL,YAAA,OAAO,MAAM;;;;;ACrFnB;AACA;AACA;AAEA,IAAIR,WAAS,GAA4B;AACrC,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE;AACJ,CAAA,EACDC,WAAS,GAA4B;AACnC,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE;CACN;AAEU,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,6EAA6E,CAAC,KAAK,CAAC,GAAG,CAAC;AAChG,IAAA,WAAW,EAAE,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC;AACpF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,sDAAsD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3E,IAAA,aAAa,EAAE,iCAAiC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3D,IAAA,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,GAAG,EAAE,eAAe;AACpB,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,yBAAyB;AAC9B,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,QAAQ,EAAE,kBAAkB;AAC5B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,aAAa;AAChB,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,QAAQ,CAAC,GAAW,EAAA;AAClB,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,KAAK,EAAA;AACjD,YAAA,OAAOA,WAAS,CAAC,KAAK,CAAC;AACzB,SAAC,CAAC;KACH;AACD,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,KAAK,EAAA;AACvC,YAAA,OAAOD,WAAS,CAAC,KAAK,CAAC;AACzB,SAAC,CAAC;KACH;;;AAGD,IAAA,aAAa,EAAE,oBAAoB;IACnC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAA;AACzB,QAAA,IAAI,IAAI,KAAK,EAAE,EAAE;YACf,IAAI,GAAG,CAAC;;AAEV,QAAA,IAAI,QAAQ,KAAK,KAAK,EAAE;AACtB,YAAA,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;;AAC7B,aAAA,IAAI,QAAQ,KAAK,MAAM,EAAE;AAC9B,YAAA,OAAO,IAAI;;AACN,aAAA,IAAI,QAAQ,KAAK,OAAO,EAAE;AAC/B,YAAA,OAAO,IAAI,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;;AAC/B,aAAA,IAAI,QAAQ,KAAK,KAAK,EAAE;YAC7B,OAAO,IAAI,GAAG,EAAE;;KAEnB;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,KAAK;;AACP,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,YAAA,OAAO,MAAM;;AACR,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,YAAA,OAAO,OAAO;;AACT,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,YAAA,OAAO,KAAK;;aACP;AACL,YAAA,OAAO,KAAK;;KAEf;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC/GH;AACA;AACA;AAEA,IAAI,WAAW,GAAG,+DAA+D,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5F,SAASW,WAAS,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;IACpF,QAAQ,GAAG;AACT,QAAA,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,QAAQ,IAAI,aAAa,IAAI,kBAAkB,GAAG,mBAAmB;AAC/E,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,IAAI,YAAY,GAAG,aAAa,CAAC;AAC3E,QAAA,KAAK,GAAG;AACN,YAAA,OAAO,KAAK,IAAI,QAAQ,IAAI,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AACjE,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,QAAQ,IAAI,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC/D,QAAA,KAAK,GAAG;AACN,YAAA,OAAO,KAAK,IAAI,QAAQ,IAAI,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAChE,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,QAAQ,IAAI,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC9D,QAAA,KAAK,GAAG;AACN,YAAA,OAAO,KAAK,IAAI,QAAQ,IAAI,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAChE,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,QAAQ,IAAI,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC9D,QAAA,KAAK,GAAG;AACN,YAAA,OAAO,KAAK,IAAI,QAAQ,IAAI,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AACpE,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,QAAQ,IAAI,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAClE,QAAA,KAAK,GAAG;AACN,YAAA,OAAO,KAAK,IAAI,QAAQ,IAAI,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAC7D,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,QAAQ,IAAI,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;;AAE7D,IAAA,OAAO,EAAE;AACX;AACA,SAAS,IAAI,CAAC,IAAU,EAAE,QAAiB,EAAA;IACzC,OAAO,CAAC,QAAQ,GAAG,EAAE,GAAG,SAAS,IAAI,GAAG,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY;AAC3F;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,mGAAmG,CAAC,KAAK,CAAC,GAAG,CAAC;AACvH,IAAA,WAAW,EAAG,oDAAoD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7E,IAAA,QAAQ,EAAG,qDAAqD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3E,IAAA,aAAa,EAAG,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1D,IAAA,WAAW,EAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7C,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,MAAM;AACX,QAAA,GAAG,EAAG,SAAS;AACf,QAAA,CAAC,EAAG,aAAa;AACjB,QAAA,EAAE,EAAG,eAAe;AACpB,QAAA,GAAG,EAAG,oBAAoB;AAC1B,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,IAAI,CAAE,KAAK,EAAA;QACT,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG;KAC7C;AACD,IAAA,QAAQ,CAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAA;AAC/B,QAAA,IAAI,KAAK,GAAG,EAAE,EAAE;YACd,OAAO,OAAO,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI;;aAChC;YACL,OAAO,OAAO,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI;;KAExC;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,eAAe;AACzB,QAAA,OAAO,EAAG,mBAAmB;AAC7B,QAAA,QAAQ,CAAE,IAAU,EAAA;AAClB,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;SACxB;AACD,QAAA,OAAO,EAAG,mBAAmB;AAC7B,QAAA,QAAQ,CAAE,IAAU,EAAA;AAClB,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;SACzB;AACD,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,UAAU;AACnB,QAAA,IAAI,EAAG,IAAI;AACX,QAAA,CAAC,EAAGA,WAAS;AACb,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAGA,WAAS;AACb,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAGA,WAAS;AACb,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAGA,WAAS;AACb,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAGA,WAAS;AACb,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAGA,WAAS;AACb,QAAA,EAAE,EAAGA;AACN,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAG,KAAK;AACf,IAAA,IAAI,EAAG;QACL,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACR;;;AClGH;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,+FAA+F,CAAC,KAAK,CAAC,GAAG,CAAC;AAClH,IAAA,WAAW,EAAE,kDAAkD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAE,2DAA2D,CAAC,KAAK,CAAC,GAAG,CAAC;AAChF,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,aAAa;AAChB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,EAAE,sBAAsB;AAChC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,WAAW,EAAE,kBAAkB;AAC/B,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,CAAC,EAAE,kBAAkB;AACrB,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,sBAAsB;AAC9C,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,EAChB,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG;YACvC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG;gBACb,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG;AACb,oBAAA,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG;QAC7B,OAAO,GAAG,GAAG,MAAM;KACpB;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACzDH;AACA;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,wFAAwF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5G,IAAA,WAAW,EAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAG,4CAA4C,CAAC,KAAK,CAAC,GAAG,CAAC;AAClE,IAAA,aAAa,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,GAAG,EAAG,2BAA2B;AACjC,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,aAAa,EAAE,uBAAuB;IACtC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAA;AACzB,QAAA,IAAI,IAAI,KAAK,EAAE,EAAE;YACf,IAAI,GAAG,CAAC;;AAEV,QAAA,IAAI,QAAQ,KAAK,MAAM,EAAE;AACvB,YAAA,OAAO,IAAI;;AACN,aAAA,IAAI,QAAQ,KAAK,OAAO,EAAE;AAC/B,YAAA,OAAO,IAAI,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;;aAC/B,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;YACtD,OAAO,IAAI,GAAG,EAAE;;KAEnB;AACD,IAAA,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAA;AAC9B,QAAA,IAAI,KAAK,GAAG,EAAE,EAAE;AACd,YAAA,OAAO,MAAM;;AACR,aAAA,IAAI,KAAK,GAAG,EAAE,EAAE;AACrB,YAAA,OAAO,OAAO;;AACT,aAAA,IAAI,KAAK,GAAG,EAAE,EAAE;AACrB,YAAA,OAAO,MAAM;;aACR;AACL,YAAA,OAAO,OAAO;;KAEjB;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,qBAAqB;AAC/B,QAAA,OAAO,EAAG,kBAAkB;AAC5B,QAAA,QAAQ,EAAG,iBAAiB;AAC5B,QAAA,OAAO,EAAG,oBAAoB;AAC9B,QAAA,QAAQ,EAAG,sBAAsB;AACjC,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,UAAU;AACnB,QAAA,IAAI,EAAG,cAAc;AACrB,QAAA,CAAC,EAAG,gBAAgB;AACpB,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,OAAO;AACX,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,CAAC,EAAG,QAAQ;AACZ,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG;AACN,KAAA;AACD,IAAA,IAAI,EAAG;QACL,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACR;;;ACtEH;AACA;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,+FAA+F,CAAC,KAAK,CAAC,GAAG,CAAC;AAClH,IAAA,WAAW,EAAE,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,IAAA,QAAQ,EAAE,0DAA0D,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/E,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,4BAA4B;AACrC,gBAAA;AACE,oBAAA,OAAO,4BAA4B;;SAExC;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,CAAC,GAAW,EAAA;YAChB,OAAO,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG;SACzE;AACD,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,CAAC,EAAE,gBAAgB;AACnB,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,UAAU;AAClC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC3DH;AACA;AACA;AAEa,MAAA,QAAQ,GAAgB;AACnC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,wCAAwC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5D,IAAA,WAAW,EAAG,wCAAwC,CAAC,KAAK,CAAC,GAAG,CAAC;AACjE,IAAA,QAAQ,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACnD,IAAA,aAAa,EAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C,IAAA,WAAW,EAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACxC,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,WAAW;AAChB,QAAA,GAAG,EAAG,iBAAiB;AACvB,QAAA,IAAI,EAAG,sBAAsB;AAC7B,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,WAAW;AAChB,QAAA,GAAG,EAAG,iBAAiB;AACvB,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,IAAI,CAAE,KAAK,EAAA;QACT,OAAO,KAAK,KAAK,IAAI;KACtB;AACD,IAAA,QAAQ,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC7B,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACb,YAAA,OAAO,IAAI;;aACN;AACL,YAAA,OAAO,IAAI;;KAEd;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,SAAS;AACnB,QAAA,OAAO,EAAG,SAAS;AACnB,QAAA,QAAQ,EAAG,aAAa;AACxB,QAAA,OAAO,EAAG,SAAS;AACnB,QAAA,QAAQ,EAAG,aAAa;AACxB,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,sBAAsB,EAAG,UAAU;IACnC,OAAO,CAAE,GAAW,EAAE,MAAc,EAAA;QAClC,QAAQ,MAAM;AACZ,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,KAAK;gBACR,OAAO,GAAG,GAAG,GAAG;AAClB,YAAA;AACE,gBAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;;KAE5B;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,KAAK;AACd,QAAA,IAAI,EAAG,KAAK;AACZ,QAAA,CAAC,EAAG,IAAI;AACR,QAAA,EAAE,EAAG,KAAK;AACV,QAAA,CAAC,EAAG,IAAI;AACR,QAAA,EAAE,EAAG,KAAK;AACV,QAAA,CAAC,EAAG,KAAK;AACT,QAAA,EAAE,EAAG,MAAM;AACX,QAAA,CAAC,EAAG,IAAI;AACR,QAAA,EAAE,EAAG,KAAK;AACV,QAAA,CAAC,EAAG,KAAK;AACT,QAAA,EAAE,EAAG,MAAM;AACX,QAAA,CAAC,EAAG,IAAI;AACR,QAAA,EAAE,EAAG;AACN;;;ACpEH;AACA;AACA;AACA;AAEa,MAAA,QAAQ,GAAgB;AACnC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG;AACP,QAAA,MAAM,EAAE,qGAAqG,CAAC,KAAK,CAAC,GAAG,CAAC;AACxH,QAAA,UAAU,EAAE,oGAAoG,CAAC,KAAK,CAAC,GAAG;AAC3H,KAAA;AACD,IAAA,WAAW,EAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAG;AACT,QAAA,UAAU,EAAE,+DAA+D,CAAC,KAAK,CAAC,GAAG,CAAC;AACtF,QAAA,MAAM,EAAE,gEAAgE,CAAC,KAAK,CAAC,GAAG,CAAC;AACnF,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,aAAa,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,GAAG,EAAG,WAAW;AACjB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,GAAG,EAAG,oBAAoB;AAC1B,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,gBAAgB;AAC1B,QAAA,OAAO,EAAG,gBAAgB;AAC1B,QAAA,OAAO,EAAG,iBAAiB;AAC3B,QAAA,QAAQ,EAAG,uBAAuB;AAClC,QAAA,QAAQ,EAAG,mBAAmB;AAC9B,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,CAAC,CAAS,EAAA;AACd,YAAA,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE;YACrB,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1C,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;gBACtB,EAAE,GAAG,IAAI;SACV;AACD,QAAA,IAAI,CAAC,CAAS,EAAA;AACZ,YAAA,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE;YACrB,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE;gBAC1C,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;;YAEvC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE;gBACrB,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;;SAEzC;AACD,QAAA,CAAC,EAAG,gBAAgB;AACpB,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,MAAM;AACV,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,OAAO;AACX,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,KAAK;AACT,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,CAAC,EAAG,KAAK;AACT,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,CAAC,EAAG,MAAM;AACV,QAAA,EAAE,EAAG;AACN,KAAA;AACD,IAAA,sBAAsB,EAAE,6BAA6B;IACrD,OAAO,CAAC,IAAY,EAAE,OAAe,EAAA;AACnC,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,YAAA,OAAO,GAAG,CAAC,QAAQ,EAAE;;AAEvB,QAAA,IAAI,GAAG,KAAK,CAAC,EAAE;YACb,OAAO,GAAG,GAAG,KAAK;;AAEpB,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE;YACvE,OAAO,KAAK,GAAG,GAAG;;QAEpB,OAAO,GAAG,GAAG,IAAI;KAClB;AACD,IAAA,IAAI,EAAG;AACL,QAAA,GAAG,EAAG,CAAC;AACP,QAAA,GAAG,EAAG;AACP;;;ACnFH;AACA;AACA;AAIA,MAAME,UAAQ,GAAG;AACf,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,GAAG,EAAE;CACN;AAEY,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,oFAAoF,CAAC,KAAK,CAAC,GAAG,CAAC;AACxG,IAAA,WAAW,EAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAG,yDAAyD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/E,IAAA,aAAa,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,GAAG,EAAG,mBAAmB;AACzB,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,kBAAkB;AAC5B,QAAA,OAAO,EAAG,kBAAkB;AAC5B,QAAA,QAAQ,EAAG,iBAAiB;AAC5B,QAAA,OAAO,EAAG,iBAAiB;AAC3B,QAAA,QAAQ,EAAG,iCAAiC;AAC5C,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,WAAW;AACpB,QAAA,IAAI,EAAG,UAAU;AACjB,QAAA,CAAC,EAAG,gBAAgB;AACpB,QAAA,EAAE,EAAG,WAAW;AAChB,QAAA,CAAC,EAAG,WAAW;AACf,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,WAAW;AACf,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,CAAC,EAAG,QAAQ;AACZ,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG;AACN,KAAA;AACD,IAAA,sBAAsB,EAAE,iBAAiB;AACzC,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE;AACnB,QAAA,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI;AAElC,QAAA,OAAO,IAAI,IAAIA,UAAQ,CAAC,IAAI,CAAC,IAAIA,UAAQ,CAAC,CAAC,CAAC,IAAIA,UAAQ,CAAC,CAAC,CAAC,CAAC;KAC7D;AACD,IAAA,IAAI,EAAG;QACL,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACR;;;AC5EH;AACA;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,wCAAwC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5D,IAAA,WAAW,EAAG,wCAAwC,CAAC,KAAK,CAAC,GAAG,CAAC;AACjE,IAAA,QAAQ,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACnD,IAAA,aAAa,EAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C,IAAA,WAAW,EAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACxC,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,GAAG,EAAG,WAAW;AACjB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,eAAe;AACpB,QAAA,GAAG,EAAG,sBAAsB;AAC5B,QAAA,IAAI,EAAG,2BAA2B;AAClC,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,eAAe;AACpB,QAAA,GAAG,EAAG,sBAAsB;AAC5B,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,OAAO;AACjB,QAAA,OAAO,EAAG,OAAO;AACjB,QAAA,QAAQ,EAAG,SAAS;AACpB,QAAA,OAAO,EAAG,OAAO;AACjB,QAAA,QAAQ,EAAG,aAAa;AACxB,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,MAAM;AACf,QAAA,IAAI,EAAG,MAAM;AACb,QAAA,CAAC,EAAG,KAAK;AACT,QAAA,EAAE,EAAG,KAAK;AACV,QAAA,CAAC,EAAG,IAAI;AACR,QAAA,EAAE,EAAG,KAAK;AACV,QAAA,CAAC,EAAG,MAAM;AACV,QAAA,EAAE,EAAG,MAAM;AACX,QAAA,CAAC,EAAG,IAAI;AACR,QAAA,EAAE,EAAG,KAAK;AACV,QAAA,CAAC,EAAG,KAAK;AACT,QAAA,EAAE,EAAG,KAAK;AACV,QAAA,CAAC,EAAG,KAAK;AACT,QAAA,EAAE,EAAG;AACN,KAAA;AACD,IAAA,sBAAsB,EAAG,gBAAgB;AACzC,IAAA,OAAO,EAAG,UAAU,GAAW,EAAE,MAAc,EAAA;QAC7C,QAAQ,MAAM;AACZ,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,KAAK;gBACR,OAAO,GAAG,GAAG,GAAG;AAClB,YAAA,KAAK,GAAG;gBACN,OAAO,GAAG,GAAG,GAAG;AAClB,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;gBACN,OAAO,GAAG,GAAG,GAAG;AAClB,YAAA;AACE,gBAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;;KAE5B;AACD,IAAA,aAAa,EAAG,OAAO;IACvB,IAAI,EAAG,UAAU,KAAK,EAAA;QACpB,OAAO,KAAK,KAAK,IAAI;KACtB;AACD,IAAA,QAAQ,EAAG,UAAU,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;QACxC,OAAO,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;;;;ACrElC;AACA;AACA;AAEA,MAAM,KAAK,GAAG;AACZ,IAAA,EAAE,EAAG,4BAA4B;AACjC,IAAA,CAAC,EAAG,uBAAuB;AAC3B,IAAA,EAAE,EAAE,yBAAyB;AAC7B,IAAA,CAAC,EAAG,0BAA0B;AAC9B,IAAA,EAAE,EAAE,2BAA2B;AAC/B,IAAA,CAAC,EAAG,oBAAoB;AACxB,IAAA,EAAE,EAAE,qBAAqB;AACzB,IAAA,CAAC,EAAG,sBAAsB;AAC1B,IAAA,EAAE,EAAE,2BAA2B;AAC/B,IAAA,CAAC,EAAG,kBAAkB;AACtB,IAAA,EAAE,EAAE;CACL;AACD,SAAS,gBAAgB,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;IAC3F,IAAI,aAAa,EAAE;AACf,QAAA,OAAO,iBAAiB;;SACrB;QACH,OAAO,QAAQ,GAAG,iBAAiB,GAAG,iBAAiB;;AAE7D;AACA,SAAS,iBAAiB,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;AAC5F,IAAA,OAAO,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF;AACA,SAAS,OAAO,CAAC,GAAW,EAAA;AAC1B,IAAA,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;AACjD;AACA,SAAS,KAAK,CAAC,GAAW,EAAA;IACxB,OAAQ,KAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC;AACA,SAASF,WAAS,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;AACpF,IAAA,IAAI,MAAM,GAAG,GAAG,GAAG,GAAG;AACtB,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACX,QAAA,OAAO,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;;SACpE,IAAI,aAAa,EAAE;AACtB,QAAA,OAAO,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;SAC3D;QACH,IAAI,QAAQ,EAAE;YACV,OAAO,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;aAC1B;AACH,YAAA,OAAO,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;;AAGxE;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG;AACP,QAAA,MAAM,EAAE,mGAAmG,CAAC,KAAK,CAAC,GAAG,CAAC;AACtH,QAAA,UAAU,EAAE,iGAAiG,CAAC,KAAK,CAAC,GAAG,CAAC;AACxH,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,WAAW,EAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAG;AACP,QAAA,MAAM,EAAE,mFAAmF,CAAC,KAAK,CAAC,GAAG,CAAC;AACtG,QAAA,UAAU,EAAE,0FAA0F,CAAC,KAAK,CAAC,GAAG,CAAC;AACjH,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,aAAa,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,WAAW,EAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;AACzC,IAAA,kBAAkB,EAAG,IAAI;AACzB,IAAA,cAAc,EAAG;AACb,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,uBAAuB;AAC5B,QAAA,GAAG,EAAG,qCAAqC;AAC3C,QAAA,IAAI,EAAG,2CAA2C;AAClD,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,uBAAuB;AAC5B,QAAA,GAAG,EAAG,qCAAqC;AAC3C,QAAA,IAAI,EAAG;AACV,KAAA;AACD,IAAA,QAAQ,EAAG;AACP,QAAA,OAAO,EAAG,eAAe;AACzB,QAAA,OAAO,EAAG,YAAY;AACtB,QAAA,QAAQ,EAAG,SAAS;AACpB,QAAA,OAAO,EAAG,YAAY;AACtB,QAAA,QAAQ,EAAG,oBAAoB;AAC/B,QAAA,QAAQ,EAAG;AACd,KAAA;AACD,IAAA,YAAY,EAAG;AACX,QAAA,MAAM,EAAG,OAAO;AAChB,QAAA,IAAI,EAAG,UAAU;AACjB,QAAA,CAAC,EAAG,gBAAgB;AACpB,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAG,iBAAiB;AACrB,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAG,iBAAiB;AACrB,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAG,iBAAiB;AACrB,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAG,iBAAiB;AACrB,QAAA,EAAE,EAAGA,WAAS;AACd,QAAA,CAAC,EAAG,iBAAiB;AACrB,QAAA,EAAE,EAAGA;AACR,KAAA;AACD,IAAA,sBAAsB,EAAE,aAAa;AACrC,IAAA,OAAO,CAAC,GAAG,EAAA;QACP,OAAO,GAAG,GAAG,MAAM;KACtB;AACD,IAAA,IAAI,EAAG;QACH,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACV;;;AC3GH;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,sGAAsG,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1H,IAAA,WAAW,EAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAG,yEAAyE,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/F,IAAA,aAAa,EAAG,6CAA6C,CAAC,KAAK,CAAC,GAAG,CAAC;AACxE,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,GAAG,EAAG,mBAAmB;AACzB,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,eAAe;AACzB,QAAA,OAAO,EAAG,kBAAkB;AAC5B,QAAA,QAAQ,EAAG,cAAc;AACzB,QAAA,OAAO,EAAG,mBAAmB;AAC7B,QAAA,QAAQ,EAAG,qBAAqB;AAChC,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,QAAQ;AACjB,QAAA,IAAI,EAAG,UAAU;AACjB,QAAA,CAAC,EAAG,gBAAgB;AACpB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,CAAC,EAAG,QAAQ;AACZ,QAAA,EAAE,EAAG,WAAW;AAChB,QAAA,CAAC,EAAG,QAAQ;AACZ,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,CAAC,EAAG,MAAM;AACV,QAAA,EAAE,EAAG;AACN,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,CAAC,GAAG,EAAA;QACP,OAAO,GAAG,GAAG,GAAG;KACnB;AACD,IAAA,IAAI,EAAG;QACL,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACR;;;AClDH;AACA;AACA;AAEA,SAASA,WAAS,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;IACpF,QAAQ,GAAG;AACT,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,GAAG,eAAe,GAAG,iBAAiB;AAC5D,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AACxD,QAAA,KAAK,GAAG;AACR,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AACtD,QAAA,KAAK,GAAG;AACR,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AACnD,QAAA,KAAK,GAAG;AACR,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AACpD,QAAA,KAAK,GAAG;AACR,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAClD,QAAA,KAAK,GAAG;AACR,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,GAAG,IAAI,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AACnD,QAAA;AACE,YAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;;AAE7B;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,8LAA8L,CAAC,KAAK,CAAC,GAAG,CAAC;AACjN,IAAA,WAAW,EAAE,4EAA4E,CAAC,KAAK,CAAC,GAAG,CAAC;AACpG,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,4CAA4C,CAAC,KAAK,CAAC,GAAG,CAAC;AACjE,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,mBAAmB;AACvB,QAAA,GAAG,EAAE,yBAAyB;AAC9B,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,aAAa,EAAE,QAAQ;IACvB,IAAI,EAAE,UAAU,KAAK,EAAA;QACnB,OAAO,KAAK,KAAK,IAAI;KACtB;AACD,IAAA,QAAQ,EAAE,UAAU,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AACvC,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACb,YAAA,OAAO,IAAI;;aACN;AACL,YAAA,OAAO,IAAI;;KAEd;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,UAAU;AAClB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,cAAc;AACtC,IAAA,OAAO,EAAE,UAAU,GAAW,EAAE,MAAc,EAAA;QAC5C,QAAQ,MAAM;AACZ,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,KAAK;gBACR,OAAO,GAAG,GAAG,OAAO;AACtB,YAAA;AACE,gBAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;;;;;AC1F/B;AACA;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,oFAAoF,CAAC,KAAK,CAAC,GAAG,CAAC;AACvG,IAAA,WAAW,EAAE,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC;AACrF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,oDAAoD,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,GAAG,EAAE,0BAA0B;AAC/B,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,OAAO,EAAE,mBAAmB;AAC5B,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,QAAQ,EAAE,yBAAyB;AACnC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,CAAC,EAAE,eAAe;AAClB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AClDH;AACA;AACA;AACA;AAEA,IAAIG,qBAAmB,GAAG,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC;AACjG,IAAIC,wBAAsB,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAEzF,IAAIP,aAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AACpJ,IAAIC,aAAW,GAAG,0KAA0K;AAE/K,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,yFAAyF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5G,IAAA,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QACrD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAOK,qBAAmB;;AACrB,aAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAOC,wBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;aAC/C;YACL,OAAOD,qBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;KAEpD;iBAEDL,aAAW;AACX,IAAA,gBAAgB,EAAEA,aAAW;AAC7B,IAAA,iBAAiB,EAAE,2FAA2F;AAC9G,IAAA,sBAAsB,EAAE,kFAAkF;iBAE1GD,aAAW;AACX,IAAA,eAAe,EAAEA,aAAW;AAC5B,IAAA,gBAAgB,EAAEA,aAAW;AAE7B,IAAA,QAAQ,EAAE,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC;AACjF,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,QAAQ,EAAE,0BAA0B;AACpC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,iBAAiB;AACzC,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,OAAO,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;KACpE;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC7EH;AACA;AACA;AACA;AAEA,IAAI,mBAAmB,GAAG,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC,EAC/F,sBAAsB,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAEvF,IAAIA,aAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AACpJ,IAAI,WAAW,GAAG,0KAA0K;AAE/K,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,yFAAyF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7G,IAAA,WAAW,CAAE,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QACtD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,mBAAmB;;AACrB,aAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAO,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;aAC/C;YACL,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;KAEpD;IAED,WAAW;AACX,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,iBAAiB,EAAE,2FAA2F;AAC9G,IAAA,sBAAsB,EAAE,kFAAkF;iBAE1GA,aAAW;AACX,IAAA,eAAe,EAAGA,aAAW;AAC7B,IAAA,gBAAgB,EAAGA,aAAW;AAE9B,IAAA,QAAQ,EAAG,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC;AAClF,IAAA,aAAa,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,kBAAkB,EAAG,IAAI;AACzB,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,GAAG,EAAG,mBAAmB;AACzB,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,QAAQ,EAAE,0BAA0B;AACpC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,SAAS;AAClB,QAAA,IAAI,EAAG,YAAY;AACnB,QAAA,CAAC,EAAG,mBAAmB;AACvB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,WAAW;AACf,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG;AACN,KAAA;AACD,IAAA,sBAAsB,EAAE,iBAAiB;AACzC,IAAA,OAAO,CAAE,IAAY,EAAA;AACnB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,OAAO,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;KACpE;AACD,IAAA,IAAI,EAAG;QACL,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACR;;;AC5EH;AACA;AACA;AAEA,IAAI,gBAAgB,GAAG,kGAAkG,CAAC,KAAK,CAAC,GAAG,CAAC;AACpI,IAAI,gBAAgB,GAAG,oGAAoG,CAAC,KAAK,CAAC,GAAG,CAAC;AAEtI,SAASE,QAAM,CAAC,GAAW,EAAA;AACzB,IAAA,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACxE;AAEA,SAASC,WAAS,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAA;AACjE,IAAA,IAAI,MAAM,GAAG,GAAG,GAAG,GAAG;IACtB,QAAQ,GAAG;AACT,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,MAAM,IAAID,QAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC;AACtD,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,GAAG,QAAQ,GAAG,QAAQ;AAC5C,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;AACpD,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,GAAG,SAAS,GAAG,SAAS;AAC9C,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC;AACtD,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC;AACzD,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;;AAEpD;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;QAChD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,gBAAgB;;AAClB,aAAA,IAAI,MAAM,KAAK,EAAE,EAAE;;;;YAIxB,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG;;AACrG,aAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAChC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;aACzC;YACL,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;KAEjD;AACD,IAAA,WAAW,EAAE,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,IAAA,QAAQ,EAAE,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC;AACjF,IAAA,aAAa,EAAE,0BAA0B,CAAC,KAAK,CAAC,GAAG,CAAC;AACpD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,oBAAoB;AAE7B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,kBAAkB;AAE3B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,gBAAgB;AAEzB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;AAE1B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;AAE1B,gBAAA;AACE,oBAAA,OAAO,iBAAiB;;SAE7B;AACD,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,2BAA2B;AACpC,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,uBAAuB;AAChC,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,0BAA0B;AACnC,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,wBAAwB;AACjC,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,wBAAwB;AACjC,gBAAA;AACE,oBAAA,OAAO,wBAAwB;;SAEpC;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,cAAc;AACjB,QAAA,EAAE,EAAEC,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAEA,WAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAEA,WAAS;AACb,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAEA;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC5HH;AACA;AACA;AAEa,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,0FAA0F,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7G,IAAA,WAAW,EAAE,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,IAAA,QAAQ,EAAE,gFAAgF,CAAC,KAAK,CAAC,GAAG,CAAC;AACrG,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,uBAAuB;AAC3B,QAAA,GAAG,EAAE,kCAAkC;AACvC,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1D,uBAAuB;gBACvB,uBAAuB,CAAC;SAC3B;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,CAAC,EAAE,iBAAiB;AACpB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,UAAU;AAClC,IAAA,OAAO,EAAE;;;AClDX;AACA;AACA;AACA;AACA;AAEA,SAASK,wBAAsB,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAA;AAC9E,IAAA,IAAI,MAAM,GAA2B;AACnC,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,EAAE,EAAE;KACL;IAED,IAAI,SAAS,GAAG,GAAG;AACnB,IAAA,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE;QACtD,SAAS,GAAG,MAAM;;IAEpB,OAAO,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;AACtC;AAGa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,mGAAmG,CAAC,KAAK,CAAC,GAAG,CAAC;AACtH,IAAA,WAAW,EAAE,+DAA+D,CAAC,KAAK,CAAC,GAAG,CAAC;AACvF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AACtE,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,kBAAkB;AACvB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,EAAE,sBAAsB;AAChC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,UAAU;AAClB,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,CAAC,EAAE,gBAAgB;AACnB,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,OAAO;AACV,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,OAAO;AACV,QAAA,EAAE,EAAEA;AACL,KAAA;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACjEH;AACA;AACA;AACA;AACA;AAEA,SAASN,QAAM,CAAC,IAAY,EAAE,GAAW,EAAA;IACvC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3B,IAAA,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtJ;AAEA,SAASM,wBAAsB,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAA;AAC9E,IAAA,IAAI,MAAM,GAA4B;QACpC,EAAE,EAAE,aAAa,GAAG,wBAAwB,GAAG,wBAAwB;QACvE,EAAE,EAAE,aAAa,GAAG,qBAAqB,GAAG,qBAAqB;AACjE,QAAA,EAAE,EAAE,gBAAgB;AACpB,QAAA,EAAE,EAAE,eAAe;AACnB,QAAA,EAAE,EAAE,sBAAsB;AAC1B,QAAA,EAAE,EAAE;KACL;AACD,IAAA,IAAI,GAAG,KAAK,GAAG,EAAE;QACf,OAAO,aAAa,GAAG,QAAQ,GAAG,QAAQ;;AAE5C,IAAA,OAAO,GAAG,GAAG,GAAG,GAAGN,QAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;AAC9C;AAEA,IAAI,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AAEjI;AACA;AACA;AACa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE;AACN,QAAA,MAAM,EAAE,mFAAmF,CAAC,KAAK,CAAC,GAAG,CAAC;AACtG,QAAA,UAAU,EAAE,iFAAiF,CAAC,KAAK,CAAC,GAAG;AACxG,KAAA;AACD,IAAA,WAAW,EAAE;;AAEX,QAAA,MAAM,EAAE,+DAA+D,CAAC,KAAK,CAAC,GAAG,CAAC;AAClF,QAAA,UAAU,EAAE,+DAA+D,CAAC,KAAK,CAAC,GAAG;AACtF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE,+DAA+D,CAAC,KAAK,CAAC,GAAG,CAAC;AACtF,QAAA,MAAM,EAAE,+DAA+D,CAAC,KAAK,CAAC,GAAG,CAAC;AAClF,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9C,WAAW;AACX,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,gBAAgB,EAAE,WAAW;;AAG7B,IAAA,WAAW,EAAE,0MAA0M;;AAGvN,IAAA,gBAAgB,EAAE,0MAA0M;;AAG5N,IAAA,iBAAiB,EAAE,uHAAuH;;AAG1I,IAAA,sBAAsB,EAAE,4FAA4F;AACpH,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,gBAAgB;AACpB,QAAA,GAAG,EAAE,sBAAsB;AAC3B,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,OAAO,EAAE,cAAc;QACvB,QAAQ,CAAC,IAAU,EAAE,GAAS,EAAA;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE;AAClC,gBAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,2BAA2B;AACpC,oBAAA,KAAK,CAAC;AACN,oBAAA,KAAK,CAAC;AACN,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,2BAA2B;AACpC,oBAAA,KAAK,CAAC;AACN,oBAAA,KAAK,CAAC;AACN,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,2BAA2B;;;iBAEjC;AACL,gBAAA,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC5B,oBAAA,OAAO,kBAAkB;;qBACpB;AACL,oBAAA,OAAO,iBAAiB;;;SAG7B;QACD,QAAQ,CAAC,IAAU,EAAE,GAAS,EAAA;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE;AAClC,gBAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,yBAAyB;AAClC,oBAAA,KAAK,CAAC;AACN,oBAAA,KAAK,CAAC;AACN,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,yBAAyB;AAClC,oBAAA,KAAK,CAAC;AACN,oBAAA,KAAK,CAAC;AACN,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,yBAAyB;;;iBAE/B;AACL,gBAAA,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC5B,oBAAA,OAAO,kBAAkB;;qBACpB;AACL,oBAAA,OAAO,iBAAiB;;;SAG7B;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,UAAU;AAClB,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,CAAC,EAAE,kBAAkB;AACrB,QAAA,EAAE,EAAEM,wBAAsB;AAC1B,QAAA,CAAC,EAAEA,wBAAsB;AACzB,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,OAAO;AACV,QAAA,EAAE,EAAEA,wBAAsB;AAC1B,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAEA;AACL,KAAA;AACD,IAAA,aAAa,EAAE,uBAAuB;AACtC,IAAA,IAAI,CAAC,KAAK,EAAA;AACR,QAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;KACpC;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,MAAM;;AACR,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,YAAA,OAAO,MAAM;;AACR,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,YAAA,OAAO,KAAK;;aACP;AACL,YAAA,OAAO,QAAQ;;KAElB;AACD,IAAA,sBAAsB,EAAE,kBAAkB;IAC1C,OAAO,CAAC,IAAY,EAAE,MAAc,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,QAAQ,MAAM;AACZ,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,KAAK;gBACR,OAAO,GAAG,GAAG,IAAI;AACnB,YAAA,KAAK,GAAG;gBACN,OAAO,GAAG,GAAG,KAAK;AACpB,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;gBACN,OAAO,GAAG,GAAG,IAAI;AACnB,YAAA;AACE,gBAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;;KAE5B;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC9KH;AACA;AACA;AAEA,MAAMX,QAAM,GAAG,mFAAmF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7G,MAAM,WAAW,GAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAEhF,SAASK,QAAM,CAAC,GAAW,EAAA;IACzB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACvD;AAEA,SAAS,SAAS,CAAC,GAAW,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;AACpF,IAAA,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG;IAExB,QAAQ,GAAG;QACT,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,YAAY,GAAG,eAAe;QACrE,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC;;iBAEjD;gBACH,OAAO,MAAM,GAAG,WAAW;;;QAG/B,KAAK,GAAG;AACN,YAAA,OAAO,aAAa,GAAG,QAAQ,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACrE,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;;iBAE/C;gBACH,OAAO,MAAM,GAAG,UAAU;;;QAG9B,KAAK,GAAG;AACN,YAAA,OAAO,aAAa,GAAG,QAAQ,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACrE,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;;iBAE/C;gBACH,OAAO,MAAM,GAAG,UAAU;;;QAG9B,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,KAAK,GAAG,MAAM;QACrD,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;;iBAE1C;gBACH,OAAO,MAAM,GAAG,OAAO;;;QAG3B,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,QAAQ,GAAG,UAAU;QAC5D,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC;;iBAEnD;gBACH,OAAO,MAAM,GAAG,UAAU;;;QAG9B,KAAK,GAAG;AACN,YAAA,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,KAAK,GAAG,OAAO;QACtD,KAAK,IAAI;AACP,YAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,gBAAA,OAAO,MAAM,IAAIA,QAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC;;iBAE7C;gBACH,OAAO,MAAM,GAAG,OAAO;;;;AAI/B;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;YACVL,QAAM;IACN,WAAW;AACX,IAAA,QAAQ,EAAE,qDAAqD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,CAAC,EAAE;AACJ,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;AAC1B,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;AAC1B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;AAC1B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,mBAAmB;AAC5B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;AAC1B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,iBAAiB;;SAE7B;AACD,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,sBAAsB;AAC/B,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,sBAAsB;AAC/B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,sBAAsB;AAC/B,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,sBAAsB;AAC/B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,sBAAsB;;SAElC;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC1JH;AACA;AACA;AAEA,SAAS,mBAAmB,CAAC,MAAc,EAAE,aAAsB,EAAE,GAAW,EAAE,QAAiB,EAAA;AACjG,IAAA,IAAI,MAAM,GAAG,MAAM,GAAG,GAAG;IACzB,QAAQ,GAAG;AACT,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,IAAI,QAAQ,GAAG,cAAc,GAAG,iBAAiB;AACvE,QAAA,KAAK,IAAI;AACP,YAAA,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChB,MAAM,IAAI,aAAa,GAAG,SAAS,GAAG,SAAS;;AAC1C,iBAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,SAAS,GAAG,UAAU;;AACvD,iBAAA,IAAI,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,SAAS,GAAG,UAAU;;iBACvD;AACL,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,QAAQ;;AAE3D,YAAA,OAAO,MAAM;AACf,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,GAAG,YAAY,GAAG,YAAY;AACpD,QAAA,KAAK,IAAI;AACP,YAAA,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChB,MAAM,IAAI,aAAa,GAAG,QAAQ,GAAG,QAAQ;;AACxC,iBAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,UAAU;;AACtD,iBAAA,IAAI,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,UAAU;;iBACtD;AACL,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,OAAO,GAAG,UAAU;;AAE5D,YAAA,OAAO,MAAM;AACf,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,GAAG,SAAS,GAAG,SAAS;AAC9C,QAAA,KAAK,IAAI;AACP,YAAA,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChB,MAAM,IAAI,aAAa,GAAG,KAAK,GAAG,KAAK;;AAClC,iBAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,KAAK,GAAG,OAAO;;AAChD,iBAAA,IAAI,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,KAAK,GAAG,OAAO;;iBAChD;AACL,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,IAAI,GAAG,OAAO;;AAEtD,YAAA,OAAO,MAAM;AACf,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,WAAW;AAC3D,QAAA,KAAK,IAAI;AACP,YAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,KAAK,GAAG,MAAM;;AAC/C,iBAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,KAAK,GAAG,SAAS;;iBAClD;AACL,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,KAAK,GAAG,OAAO;;AAEvD,YAAA,OAAO,MAAM;AACf,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,IAAI,QAAQ,GAAG,UAAU,GAAG,cAAc;AAChE,QAAA,KAAK,IAAI;AACP,YAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,OAAO,GAAG,SAAS;;AACpD,iBAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,UAAU;;AACtD,iBAAA,IAAI,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,QAAQ;;iBACpD;AACL,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,SAAS,GAAG,QAAQ;;AAE5D,YAAA,OAAO,MAAM;AACf,QAAA,KAAK,GAAG;YACN,OAAO,aAAa,IAAI,QAAQ,GAAG,UAAU,GAAG,YAAY;AAC9D,QAAA,KAAK,IAAI;AACP,YAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,MAAM,GAAG,OAAO;;AACjD,iBAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,MAAM,GAAG,QAAQ;;AAClD,iBAAA,IAAI,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,MAAM,GAAG,MAAM;;iBAChD;AACL,gBAAA,MAAM,IAAI,aAAa,IAAI,QAAQ,GAAG,KAAK,GAAG,MAAM;;AAEtD,YAAA,OAAO,MAAM;;AAEnB;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,uFAAuF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1G,IAAA,WAAW,EAAE,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC;AACrF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,qDAAqD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9D,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,OAAO,EAAE,eAAe;AAExB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,uBAAuB;AAChC,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,qBAAqB;AAC9B,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,sBAAsB;AAC/B,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,kBAAkB;;SAE9B;AACD,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,8BAA8B;AACvC,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,4BAA4B;AACrC,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,6BAA6B;AACtC,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,yBAAyB;;SAErC;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,mBAAmB;AACvB,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,mBAAmB;AACvB,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,mBAAmB;AACvB,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,mBAAmB;AACvB,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE,mBAAmB;AACvB,QAAA,CAAC,EAAE,mBAAmB;AACtB,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,WAAW;AACnC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AClKH;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,+EAA+E,CAAC,KAAK,CAAC,GAAG,CAAC;AACnG,IAAA,WAAW,EAAG,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,IAAA,QAAQ,EAAG,4DAA4D,CAAC,KAAK,CAAC,GAAG,CAAC;AAClF,IAAA,aAAa,EAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,aAAa;AAClB,QAAA,GAAG,EAAG,mBAAmB;AACzB,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAG,aAAa;AACvB,QAAA,OAAO,EAAG,eAAe;AACzB,QAAA,QAAQ,EAAG,cAAc;AACzB,QAAA,OAAO,EAAG,aAAa;AACvB,QAAA,QAAQ,EAAG,uBAAuB;AAClC,QAAA,QAAQ,EAAG;AACZ,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,OAAO;AAChB,QAAA,IAAI,EAAG,WAAW;AAClB,QAAA,CAAC,EAAG,cAAc;AAClB,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,CAAC,EAAG,WAAW;AACf,QAAA,EAAE,EAAG,WAAW;AAChB,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG;AACN,KAAA;IACD,sBAAsB,EAAE,WAAW;IACnC,OAAO,EAAG,KAAK;AACf,IAAA,IAAI,EAAG;QACL,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACR;;;AChDH;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,uFAAuF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1G,IAAA,WAAW,EAAE,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,IAAA,QAAQ,EAAE,mDAAmD,CAAC,KAAK,CAAC,GAAG,CAAC;AACxE,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,yBAAyB;AAC9B,QAAA,IAAI,EAAE,8BAA8B;AACpC,QAAA,GAAG,EAAE,kBAAkB;AACvB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,CAAC,EAAE,gBAAgB;AACnB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,cAAc;AACtC,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,EACd,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG;YACvC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG;gBACb,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG;AACb,oBAAA,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG;QAC7B,OAAO,GAAG,GAAG,MAAM;KACpB;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC5DH;AACA;AACA;AAIa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,mGAAmG,CAAC,KAAK,CAAC,GAAG,CAAC;AACtH,IAAA,WAAW,EAAE,gEAAgE,CAAC,KAAK,CAAC,GAAG,CAAC;AACxF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,gDAAgD,CAAC,KAAK,CAAC,GAAG,CAAC;IACrE,aAAa,EAAE,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC;AAClD,IAAA,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,uBAAuB;AAC5B,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,aAAa,EAAE,uBAAuB;AACtC,IAAA,IAAI,CAAC,KAAK,EAAA;QACR,OAAO,KAAK,KAAK,YAAY;KAC9B;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACb,YAAA,OAAO,YAAY;;aACd;AACL,YAAA,OAAO,YAAY;;KAEtB;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,OAAO,EAAE,uBAAuB;AAChC,QAAA,QAAQ,EAAE,4BAA4B;AACtC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,CAAC,EAAE,cAAc;AACjB,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,OAAO;AACV,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,EAAE;AACL;;;ACzDH;AACA;AACA;AAIa,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,mGAAmG,CAAC,KAAK,CAAC,GAAG,CAAC;AACtH,IAAA,WAAW,EAAE,gEAAgE,CAAC,KAAK,CAAC,GAAG,CAAC;AACxF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAE,gDAAgD,CAAC,KAAK,CAAC,GAAG,CAAC;AACrE,IAAA,aAAa,EAAE,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC;AAClD,IAAA,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,uBAAuB;AAC5B,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,aAAa,EAAE,uBAAuB;AACtC,IAAA,IAAI,CAAC,KAAK,EAAA;QACR,OAAO,KAAK,KAAK,YAAY;KAC9B;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACb,YAAA,OAAO,YAAY;;aACd;AACL,YAAA,OAAO,YAAY;;KAEtB;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,OAAO,EAAE,uBAAuB;AAChC,QAAA,QAAQ,EAAE,4BAA4B;AACtC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,CAAC,EAAE,cAAc;AACjB,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,WAAW;AACd,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,CAAC,EAAE,OAAO;AACV,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,UAAU;AACd,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,EAAE;AACL,KAAA;IAED,QAAQ,CAAC,GAAW,EAAE,MAAe,EAAA;AAEnC,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM;AAC9C,cAAE,UAAU,CAAC,cAAc,CAAC,MAAM;cAChC,MAAM;;AAGV,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAG;AACnE,YAAA,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C,YAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;YAC3D,OAAO,IAAI,GAAG,IAAI;;AAGpB,QAAA,OAAO,GAAG;KACX;AAED,IAAA,WAAW,CAAC,IAAU,EAAE,KAAK,GAAG,KAAK,EAAA;AACnC,QAAA,OAAO,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;;;;AC1ErE;AACA;AACA;AACA;AAEA,IAAI,QAAQ,GAA8B;AACxC,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,CAAC,EAAE,OAAO;AACV,IAAA,CAAC,EAAE,OAAO;AACV,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,GAAG,EAAE,QAAQ;AACb,IAAA,CAAC,EAAE,OAAO;AACV,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE;CACL;AAEY,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,4EAA4E,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/F,IAAA,WAAW,EAAE,iDAAiD,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,IAAA,QAAQ,EAAE,uDAAuD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5E,IAAA,aAAa,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,QAAQ,EAAE,0BAA0B;AACpC,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,QAAQ,EAAE,wBAAwB;AAClC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,UAAU;AAClB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,eAAe;AAClB,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,CAAC,EAAE,SAAS;AACZ,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,sBAAsB,EAAE,uCAAuC;AAC/D,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,GAAG,KAAK,CAAC,EAAE;YACb,OAAO,GAAG,GAAG,QAAQ;;QAEvB,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,EACd,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EACjB,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI;AAC7B,QAAA,OAAO,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;KACzD;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AC7EH;AACA;AACA;AACA;AAEA,SAAS,MAAM,CAAC,IAAI,EAAE,GAAG,EAAA;IACvB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3B,IAAA,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtJ;AAEA,SAAS,sBAAsB,CAAC,GAAW,EAAE,aAAa,EAAE,GAAG,EAAA;AAC7D,IAAA,IAAI,MAAM,GAA8B;QACtC,EAAE,EAAE,aAAa,GAAG,wBAAwB,GAAG,wBAAwB;QACvE,EAAE,EAAE,aAAa,GAAG,wBAAwB,GAAG,wBAAwB;QACvE,EAAE,EAAE,aAAa,GAAG,qBAAqB,GAAG,qBAAqB;AACjE,QAAA,EAAE,EAAE,eAAe;AACnB,QAAA,EAAE,EAAE,uBAAuB;AAC3B,QAAA,EAAE,EAAE;KACL;AAED,IAAA,IAAI,GAAG,KAAK,GAAG,EAAE;QACf,OAAO,aAAa,GAAG,SAAS,GAAG,SAAS;;AAG9C,IAAA,IAAI,GAAG,KAAK,GAAG,EAAE;QACf,OAAO,aAAa,GAAG,QAAQ,GAAG,QAAQ;;AAE5C,IAAA,OAAO,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;AAC9C;AAEA,SAAS,mBAAmB,CAAC,IAAU,EAAE,MAAc,EAAE,KAAe,EAAA;AACtE,IAAA,IAAI,QAAQ,GAAG;AACb,QAAA,UAAU,EAAE,yDAAyD,CAAC,KAAK,CAAC,GAAG,CAAC;AAChF,QAAA,UAAU,EAAE,yDAAyD,CAAC,KAAK,CAAC,GAAG,CAAC;AAChF,QAAA,QAAQ,EAAE,2DAA2D,CAAC,KAAK,CAAC,GAAG;KAChF;IAED,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,QAAQ,CAAC,UAAU;;IAG5B,IAAI,QAAQ,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC;AAChD,QAAA,YAAY;SACX,CAAC,qCAAqC,EAAE,IAAI,CAAC,MAAM,CAAC;AACnD,YAAA,UAAU;AACV,YAAA,YAAY,CAAC;AACjB,IAAA,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtD;AAEA,SAAS,oBAAoB,CAAC,GAAW,EAAA;AACvC,IAAA,OAAO,UAAU,IAAU,EAAA;QACzB,OAAO,GAAG,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM;AAChE,KAAC;AACH;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE;AACN,QAAA,MAAM,EAAE,wFAAwF,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3G,QAAA,UAAU,EAAE,gGAAgG,CAAC,KAAK,CAAC,GAAG;AACvH,KAAA;AACD,IAAA,WAAW,EAAE,wDAAwD,CAAC,KAAK,CAAC,GAAG,CAAC;AAChF,IAAA,QAAQ,EAAE,mBAAmB;AAC7B,IAAA,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,gBAAgB;AACpB,QAAA,GAAG,EAAE,uBAAuB;AAC5B,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,oBAAoB,CAAC,YAAY,CAAC;AAC3C,QAAA,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC;AACzC,QAAA,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC;AACxC,QAAA,QAAQ,EAAE,oBAAoB,CAAC,YAAY,CAAC;AAC5C,QAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,YAAA,QAAQ,YAAY,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;AACvD,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACN,gBAAA,KAAK,CAAC;AACJ,oBAAA,OAAO,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC;;SAE3D;AACD,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,CAAC,EAAE,iBAAiB;AACpB,QAAA,EAAE,EAAE,sBAAsB;AAC1B,QAAA,CAAC,EAAE,sBAAsB;AACzB,QAAA,EAAE,EAAE,sBAAsB;AAC1B,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,sBAAsB;AAC1B,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,EAAE,sBAAsB;AAC1B,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,EAAE,EAAE,sBAAsB;AAC1B,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAE;AACL,KAAA;;AAED,IAAA,aAAa,EAAE,uBAAuB;AACtC,IAAA,IAAI,CAAC,KAAK,EAAA;AACR,QAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;KACpC;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,MAAM;;AACR,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,YAAA,OAAO,OAAO;;AACT,aAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,YAAA,OAAO,KAAK;;aACP;AACL,YAAA,OAAO,QAAQ;;KAElB;AACD,IAAA,sBAAsB,EAAE,gBAAgB;IACxC,OAAO,CAAC,IAAY,EAAE,MAAc,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,QAAQ,MAAM;AACZ,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,KAAK;AACV,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;gBACN,OAAO,GAAG,GAAG,IAAI;AACnB,YAAA,KAAK,GAAG;gBACN,OAAO,GAAG,GAAG,KAAK;AACpB,YAAA;AACE,gBAAA,OAAO,GAAG,CAAC,QAAQ,EAAE;;KAE1B;AACD,IAAA,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;AClJH;AACA;AACA;AAEa,MAAA,QAAQ,GAAe;AAClC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAG,oGAAoG,CAAC,KAAK,CAAC,GAAG,CAAC;AACxH,IAAA,WAAW,EAAG,6DAA6D,CAAC,KAAK,CAAC,GAAG,CAAC;AACtF,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,QAAQ,EAAG,wDAAwD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9E,IAAA,aAAa,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AACjD,IAAA,WAAW,EAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAA,kBAAkB,EAAG,IAAI;AACzB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,IAAI,CAAC,KAAa,EAAA;AAChB,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KAC3B;AACD,IAAA,QAAQ,CAAC,KAAa,EAAE,OAAe,EAAE,OAAgB,EAAA;AACvD,QAAA,IAAI,KAAK,GAAG,EAAE,EAAE;YACd,OAAO,OAAO,GAAG,IAAI,GAAG,IAAI;;aACvB;YACL,OAAO,OAAO,GAAG,IAAI,GAAG,IAAI;;KAE/B;AACD,IAAA,cAAc,EAAG;AACf,QAAA,EAAE,EAAG,OAAO;AACZ,QAAA,GAAG,EAAG,UAAU;AAChB,QAAA,CAAC,EAAG,YAAY;AAChB,QAAA,EAAE,EAAG,mBAAmB;AACxB,QAAA,GAAG,EAAG,yBAAyB;AAC/B,QAAA,IAAI,EAAG,+BAA+B;AACtC,QAAA,CAAC,EAAG,WAAW;AACf,QAAA,EAAE,EAAG,YAAY;AACjB,QAAA,GAAG,EAAG,kBAAkB;AACxB,QAAA,IAAI,EAAG;AACR,KAAA;AACD,IAAA,QAAQ,EAAG;AACT,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,OAAO,EAAE,mBAAmB;AAC5B,QAAA,QAAQ,EAAE,wBAAwB;AAClC,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,QAAQ,EAAE,0BAA0B;AACpC,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAG;AACb,QAAA,MAAM,EAAG,QAAQ;AACjB,QAAA,IAAI,EAAG,UAAU;AACjB,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG,QAAQ;AACb,QAAA,CAAC,EAAG,UAAU;AACd,QAAA,EAAE,EAAG,SAAS;AACd,QAAA,CAAC,EAAG,WAAW;AACf,QAAA,EAAE,EAAG,UAAU;AACf,QAAA,CAAC,EAAG,SAAS;AACb,QAAA,EAAE,EAAG;AACN,KAAA;AACD,IAAA,sBAAsB,EAAE,SAAS;AACjC,IAAA,OAAO,CAAC,IAAY,EAAA;QAClB,OAAO,EAAE,GAAG,IAAI;KACjB;AACD,IAAA,IAAI,EAAG;QACL,GAAG,EAAG,CAAC;QACP,GAAG,EAAG,CAAC;AACR;;;ACnEH;AACA;AACA;AACA;AAEa,MAAA,UAAU,GAAe;AACpC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,uCAAuC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1D,IAAA,WAAW,EAAE,wCAAwC,CAAC,KAAK,CAAC,GAAG,CAAC;AAChE,IAAA,QAAQ,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;AAClD,IAAA,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,GAAG,EAAE,iBAAiB;AACtB,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,GAAG,EAAE,iBAAiB;AACtB,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,aAAa,EAAE,mBAAmB;IAClC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAA;AACzB,QAAA,IAAI,IAAI,KAAK,EAAE,EAAE;YACf,IAAI,GAAG,CAAC;;AAEV,QAAA,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;YACxC,QAAQ,KAAK,IAAI,EAAE;AACnB,YAAA,OAAO,IAAI;;aACN,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE;YACjD,OAAO,IAAI,GAAG,EAAE;;aACX;;AAEL,YAAA,OAAO,IAAI,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;;KAEvC;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM;AAC5B,QAAA,IAAI,EAAE,GAAG,GAAG,EAAE;AACZ,YAAA,OAAO,IAAI;;AACN,aAAA,IAAI,EAAE,GAAG,GAAG,EAAE;AACnB,YAAA,OAAO,IAAI;;AACN,aAAA,IAAI,EAAE,GAAG,IAAI,EAAE;AACpB,YAAA,OAAO,IAAI;;AACN,aAAA,IAAI,EAAE,GAAG,IAAI,EAAE;AACpB,YAAA,OAAO,IAAI;;AACN,aAAA,IAAI,EAAE,GAAG,IAAI,EAAE;AACpB,YAAA,OAAO,IAAI;;aACN;AACL,YAAA,OAAO,IAAI;;KAEd;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,sBAAsB,EAAE,gBAAgB;IACxC,OAAO,CAAC,IAAY,EAAE,MAAM,EAAA;AAC1B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,QAAQ,MAAM;AACZ,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,KAAK;gBACR,OAAO,GAAG,GAAG,GAAG;AAClB,YAAA,KAAK,GAAG;gBACN,OAAO,GAAG,GAAG,GAAG;AAClB,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,GAAG;gBACN,OAAO,GAAG,GAAG,GAAG;AAClB,YAAA;AACE,gBAAA,OAAO,GAAG,CAAC,QAAQ,EAAE;;KAE1B;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,CAAC,EAAE,IAAI;AACP,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,CAAC,EAAE,MAAM;AACT,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,CAAC,EAAE,KAAK;AACR,QAAA,EAAE,EAAE;AACL,KAAA;AACD,IAAA,IAAI,EAAE;;QAEJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;AACP;;;ACtGH;AACA;AACA;AAIA,MAAM,SAAS,GAA4B;AACvC,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE;CACJ;AAEH,MAAM,SAAS,GAA4B;AACzC,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,GAAG,EAAE;CACN;AAED,MAAM,UAAU,GAAG,UAAU,GAAW,EAAA;AACpC,IAAA,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;AACxH,CAAC;AAEH,IAAI,OAAO,GAAiF;AACxF,IAAA,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;AACjG,IAAA,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;AACjG,IAAA,CAAC,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAC1F,IAAA,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACnF,IAAA,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACnF,IAAA,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;CACrF;AAED,MAAM,SAAS,GAAG,UAAU,CAAS,EAAA;IACjC,OAAO,UAAU,GAAW,EAAE,aAAsB,EAAA;AAClD,QAAA,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;AACzB,QAAA,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE;AACX,YAAA,GAAG,GAAG,GAAG,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;;QAGlC,OAAQ,GAAc,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AACvD,KAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAa;IACvB,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR;CACH;AAEY,MAAA,QAAQ,GAAe;AAChC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,QAAQ,EAAE,mDAAmD,CAAC,KAAK,CAAC,GAAG,CAAC;AACxE,IAAA,aAAa,EAAE,qDAAqD,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/E,IAAA,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,cAAc,EAAE;AACZ,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,CAAC,EAAE,sBAAsB;AACzB,QAAA,EAAE,EAAE,aAAa;AACjB,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,IAAI,CAAC,KAAK,EAAA;QACN,OAAO,GAAG,KAAK,KAAK;KACrB;AACD,IAAA,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAA;AAC5B,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACb,YAAA,OAAO,GAAG;;aACL;AACL,YAAA,OAAO,GAAG;;KAEb;AACH,IAAA,QAAQ,EAAE;AACN,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,OAAO,EAAE,mBAAmB;AAC5B,QAAA,QAAQ,EAAE,mBAAmB;AAC7B,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,QAAQ,EAAE,mBAAmB;AAC7B,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;AACjB,QAAA,EAAE,EAAE,SAAS,CAAC,GAAG;AACpB,KAAA;AACD,IAAA,QAAQ,CAAC,GAAW,EAAA;AAChB,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,KAAK,EAAA;AACjD,YAAA,OAAO,SAAS,CAAC,KAAK,CAAC;SACxB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;KACtB;AACD,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,KAAK,EAAA;AACvC,YAAA,OAAO,SAAS,CAAC,KAAK,CAAC;SACxB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;KACtB;AACH,IAAA,IAAI,EAAE;QACF,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,EAAE;AACV;;;ACxIL;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-chronos.mjs","sources":["../tmp-esm2022/utils.js","../tmp-esm2022/utils/type-checks.js","../tmp-esm2022/units/aliases.js","../tmp-esm2022/units/constants.js","../tmp-esm2022/utils/zero-fill.js","../tmp-esm2022/format/format.js","../tmp-esm2022/create/date-from-array.js","../tmp-esm2022/utils/date-getters.js","../tmp-esm2022/parse/regex.js","../tmp-esm2022/parse/token.js","../tmp-esm2022/units/priorities.js","../tmp-esm2022/units/day-of-month.js","../tmp-esm2022/create/parsing-flags.js","../tmp-esm2022/units/year.js","../tmp-esm2022/units/month.js","../tmp-esm2022/utils/date-setters.js","../tmp-esm2022/create/clone.js","../tmp-esm2022/utils/start-end-of.js","../tmp-esm2022/units/day-of-year.js","../tmp-esm2022/units/week-calendar-utils.js","../tmp-esm2022/locale/locale.class.js","../tmp-esm2022/locale/calendar.js","../tmp-esm2022/locale/locale.defaults.js","../tmp-esm2022/utils/compare-arrays.js","../tmp-esm2022/units/week.js","../tmp-esm2022/units/week-year.js","../tmp-esm2022/units/timezone.js","../tmp-esm2022/units/timestamp.js","../tmp-esm2022/units/second.js","../tmp-esm2022/units/quarter.js","../tmp-esm2022/units/offset.js","../tmp-esm2022/units/minute.js","../tmp-esm2022/units/millisecond.js","../tmp-esm2022/units/hour.js","../tmp-esm2022/locale/locales.js","../tmp-esm2022/duration/valid.js","../tmp-esm2022/utils/abs-ceil.js","../tmp-esm2022/duration/bubble.js","../tmp-esm2022/duration/humanize.js","../tmp-esm2022/duration/constructor.js","../tmp-esm2022/create/valid.js","../tmp-esm2022/create/from-string.js","../tmp-esm2022/format.js","../tmp-esm2022/utils/defaults.js","../tmp-esm2022/create/from-array.js","../tmp-esm2022/create/check-overflow.js","../tmp-esm2022/create/from-string-and-format.js","../tmp-esm2022/create/from-string-and-array.js","../tmp-esm2022/create/from-object.js","../tmp-esm2022/create/from-anything.js","../tmp-esm2022/create/local.js","../tmp-esm2022/utils/abs-round.js","../tmp-esm2022/utils/date-compare.js","../tmp-esm2022/duration/create.js","../tmp-esm2022/moment/add-subtract.js","../tmp-esm2022/units/day-of-week.js","../tmp-esm2022/i18n/ar.js","../tmp-esm2022/i18n/bg.js","../tmp-esm2022/i18n/ca.js","../tmp-esm2022/i18n/cs.js","../tmp-esm2022/i18n/da.js","../tmp-esm2022/i18n/de.js","../tmp-esm2022/i18n/en-gb.js","../tmp-esm2022/i18n/es-do.js","../tmp-esm2022/i18n/es.js","../tmp-esm2022/i18n/es-pr.js","../tmp-esm2022/i18n/es-us.js","../tmp-esm2022/i18n/et.js","../tmp-esm2022/i18n/fi.js","../tmp-esm2022/i18n/fr.js","../tmp-esm2022/i18n/fr-ca.js","../tmp-esm2022/i18n/gl.js","../tmp-esm2022/i18n/he.js","../tmp-esm2022/i18n/hi.js","../tmp-esm2022/i18n/hu.js","../tmp-esm2022/i18n/hr.js","../tmp-esm2022/i18n/id.js","../tmp-esm2022/i18n/it.js","../tmp-esm2022/i18n/ja.js","../tmp-esm2022/i18n/ka.js","../tmp-esm2022/i18n/kk.js","../tmp-esm2022/i18n/ko.js","../tmp-esm2022/i18n/lt.js","../tmp-esm2022/i18n/lv.js","../tmp-esm2022/i18n/mn.js","../tmp-esm2022/i18n/nb.js","../tmp-esm2022/i18n/nl-be.js","../tmp-esm2022/i18n/nl.js","../tmp-esm2022/i18n/pl.js","../tmp-esm2022/i18n/pt-br.js","../tmp-esm2022/i18n/ro.js","../tmp-esm2022/i18n/ru.js","../tmp-esm2022/i18n/sk.js","../tmp-esm2022/i18n/sl.js","../tmp-esm2022/i18n/sq.js","../tmp-esm2022/i18n/sv.js","../tmp-esm2022/i18n/th.js","../tmp-esm2022/i18n/th-be.js","../tmp-esm2022/i18n/tr.js","../tmp-esm2022/i18n/uk.js","../tmp-esm2022/i18n/vi.js","../tmp-esm2022/i18n/zh-cn.js","../tmp-esm2022/i18n/fa.js","../tmp-esm2022/ngx-bootstrap-chronos.js"],"sourcesContent":["export function mod(n, x) {\n return (n % x + x) % x;\n}\nexport function absFloor(num) {\n return num < 0 ? Math.ceil(num) || 0 : Math.floor(num);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVMsRUFBRSxDQUFTO0lBQ3RDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXO0lBQ2xDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgZnVuY3Rpb24gbW9kKG46IG51bWJlciwgeDogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIChuICUgeCArIHgpICUgeDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFic0Zsb29yKG51bTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIG51bSA8IDAgPyBNYXRoLmNlaWwobnVtKSB8fCAwIDogTWF0aC5mbG9vcihudW0pO1xufVxuXG4iXX0=","import { absFloor } from '../utils';\nexport function isString(str) {\n return typeof str === 'string';\n}\nexport function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function isBoolean(value) {\n return value === true || value === false;\n}\nexport function isDateValid(date) {\n return date && date.getTime && !isNaN(date.getTime());\n}\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport function isFunction(fn) {\n return (fn instanceof Function ||\n Object.prototype.toString.call(fn) === '[object Function]');\n}\nexport function isNumber(value) {\n return typeof value === 'number' || Object.prototype.toString.call(value) === '[object Number]';\n}\nexport function isArray(input) {\n return (input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]');\n}\nexport function hasOwnProp(a /*object*/, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\nexport function isObject(input /*object*/) {\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}\nexport function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n }\n let k;\n for (k in obj) {\n // eslint-disable-next-line no-prototype-builtins\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n}\nexport function isUndefined(input) {\n return input === void 0;\n}\nexport function toInt(argumentForCoercion) {\n const coercedNumber = +argumentForCoercion;\n let value = 0;\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n return value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jaGVja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91dGlscy90eXBlLWNoZWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUTtJQUMvQixPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFVO0lBQy9CLE9BQU8sS0FBSyxZQUFZLElBQUksSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssZUFBZSxDQUFDO0FBQzVGLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQVU7SUFDbEMsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBVTtJQUNwQyxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRCxzRUFBc0U7QUFDdEUsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUFPO0lBQ2hDLE9BQU8sQ0FDTCxFQUFFLFlBQVksUUFBUTtRQUN0QixNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssbUJBQW1CLENBQzNELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFXO0lBQ2xDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxpQkFBaUIsQ0FBQztBQUNsRyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBSSxLQUFXO0lBQ3BDLE9BQU8sQ0FDTCxLQUFLLFlBQVksS0FBSztRQUN0QixNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssZ0JBQWdCLENBQzNELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBSSxDQUFJLENBQUMsVUFBVSxFQUFFLENBQVM7SUFDdEQsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFJLEtBQVUsQ0FBQyxVQUFVO0lBQy9DLCtEQUErRDtJQUMvRCxnQkFBZ0I7SUFDaEIsT0FBTyxDQUNMLEtBQUssSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGlCQUFpQixDQUM3RSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBUTtJQUNwQyxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLENBQUMsQ0FBQztJQUNOLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsaURBQWlEO1FBQ2pELElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFHRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVU7SUFDcEMsT0FBTyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUksbUJBQXdDO0lBQy9ELE1BQU0sYUFBYSxHQUFHLENBQUMsbUJBQW1CLENBQUM7SUFDM0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBRWQsSUFBSSxhQUFhLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQ25ELEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFic0Zsb29yIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcoc3RyOiBhbnkpOiBzdHIgaXMgc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBEYXRlIHtcbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpID09PSAnW29iamVjdCBEYXRlXSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWU6IGFueSk6IHZhbHVlIGlzIGJvb2xlYW4ge1xuICByZXR1cm4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09IGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlVmFsaWQoZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZGF0ZSAmJiBkYXRlLmdldFRpbWUgJiYgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24oZm46IGFueSk6IGZuIGlzIEZ1bmN0aW9uIHtcbiAgcmV0dXJuIChcbiAgICBmbiBpbnN0YW5jZW9mIEZ1bmN0aW9uIHx8XG4gICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZuKSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsdWU/OiBhbnkpOiB2YWx1ZSBpcyBudW1iZXIge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpID09PSAnW29iamVjdCBOdW1iZXJdJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXk8VD4oaW5wdXQ/OiBhbnkpOiBpbnB1dCBpcyBUW10ge1xuICByZXR1cm4gKFxuICAgIGlucHV0IGluc3RhbmNlb2YgQXJyYXkgfHxcbiAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5wdXQpID09PSAnW29iamVjdCBBcnJheV0nXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNPd25Qcm9wPFQ+KGE6IFQgLypvYmplY3QqLywgYjogc3RyaW5nKTogYiBpcyBFeHRyYWN0PGtleW9mIFQsIHN0cmluZz4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsIGIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3Q8VD4oaW5wdXQ6IGFueSAvKm9iamVjdCovKTogaW5wdXQgaXMgVCB7XG4gIC8vIElFOCB3aWxsIHRyZWF0IHVuZGVmaW5lZCBhbmQgbnVsbCBhcyBvYmplY3QgaWYgaXQgd2Fzbid0IGZvclxuICAvLyBpbnB1dCAhPSBudWxsXG4gIHJldHVybiAoXG4gICAgaW5wdXQgIT0gbnVsbCAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5wdXQpID09PSAnW29iamVjdCBPYmplY3RdJ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3RFbXB0eShvYmo6IGFueSk6IGJvb2xlYW4ge1xuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMpIHtcbiAgICByZXR1cm4gKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikubGVuZ3RoID09PSAwKTtcbiAgfVxuICBsZXQgaztcbiAgZm9yIChrIGluIG9iaikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGspKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKGlucHV0OiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlucHV0ID09PSB2b2lkIDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0ludDxUPihhcmd1bWVudEZvckNvZXJjaW9uOiBzdHJpbmcgfCBudW1iZXIgfCBUKTogbnVtYmVyIHtcbiAgY29uc3QgY29lcmNlZE51bWJlciA9ICthcmd1bWVudEZvckNvZXJjaW9uO1xuICBsZXQgdmFsdWUgPSAwO1xuXG4gIGlmIChjb2VyY2VkTnVtYmVyICE9PSAwICYmIGlzRmluaXRlKGNvZXJjZWROdW1iZXIpKSB7XG4gICAgdmFsdWUgPSBhYnNGbG9vcihjb2VyY2VkTnVtYmVyKTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cbiJdfQ==","import { hasOwnProp, isString } from '../utils/type-checks';\nconst aliases = {};\nconst _mapUnits = {\n date: 'day',\n hour: 'hours',\n minute: 'minutes',\n second: 'seconds',\n millisecond: 'milliseconds'\n};\nexport function addUnitAlias(unit, shorthand) {\n const lowerCase = unit.toLowerCase();\n let _unit = unit;\n if (lowerCase in _mapUnits) {\n _unit = _mapUnits[lowerCase];\n }\n aliases[lowerCase] = aliases[`${lowerCase}s`] = aliases[shorthand] = _unit;\n}\nexport function normalizeUnits(units) {\n return isString(units) ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\nexport function normalizeObjectUnits(inputObject) {\n const normalizedInput = {};\n let normalizedProp;\n let prop;\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 return normalizedInput;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL3VuaXRzL2FsaWFzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc1RCxNQUFNLE9BQU8sR0FBOEIsRUFBRSxDQUFDO0FBSzlDLE1BQU0sU0FBUyxHQUFrQztJQUMvQyxJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxPQUFPO0lBQ2IsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsV0FBVyxFQUFFLGNBQWM7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBd0IsRUFBRSxTQUFpQjtJQUN0RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQzNCLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDN0UsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBd0I7SUFDckQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUN0RixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFdBQW9DO0lBQ3ZFLE1BQU0sZUFBZSxHQUE0QixFQUFFLENBQUM7SUFDcEQsSUFBSSxjQUFjLENBQUM7SUFDbkIsSUFBSSxJQUFJLENBQUM7SUFFVCxLQUFLLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxjQUFjLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc093blByb3AsIGlzU3RyaW5nIH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgRGF0ZU9iamVjdCwgVW5pdE9mVGltZSB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgYWxpYXNlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuXG5leHBvcnQgdHlwZSBFeHRlbmRlZFVuaXRPZlRpbWUgPSBVbml0T2ZUaW1lIHwgJ2RhdGUnIHwgJ3dlZWsnIHwgJ2lzb1dlZWsnIHwgJ2RheU9mWWVhcicgfFxuICAnd2Vla2RheScgfCAnaXNvV2Vla2RheScgfCAnc2Vjb25kJyB8ICdtaWxsaXNlY29uZCcgfCAnbWludXRlJyB8ICdob3VyJyB8ICdxdWFydGVyJyB8ICd3ZWVrWWVhcicgfCAnaXNvV2Vla1llYXInO1xuXG5jb25zdCBfbWFwVW5pdHM6IHsgW2tleTogc3RyaW5nXTogVW5pdE9mVGltZSB9ID0ge1xuICBkYXRlOiAnZGF5JyxcbiAgaG91cjogJ2hvdXJzJyxcbiAgbWludXRlOiAnbWludXRlcycsXG4gIHNlY29uZDogJ3NlY29uZHMnLFxuICBtaWxsaXNlY29uZDogJ21pbGxpc2Vjb25kcydcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRVbml0QWxpYXModW5pdDogRXh0ZW5kZWRVbml0T2ZUaW1lLCBzaG9ydGhhbmQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBsb3dlckNhc2UgPSB1bml0LnRvTG93ZXJDYXNlKCk7XG4gIGxldCBfdW5pdCA9IHVuaXQ7XG4gIGlmIChsb3dlckNhc2UgaW4gX21hcFVuaXRzKSB7XG4gICAgX3VuaXQgPSBfbWFwVW5pdHNbbG93ZXJDYXNlXTtcbiAgfVxuICBhbGlhc2VzW2xvd2VyQ2FzZV0gPSBhbGlhc2VzW2Ake2xvd2VyQ2FzZX1zYF0gPSBhbGlhc2VzW3Nob3J0aGFuZF0gPSBfdW5pdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVVuaXRzKHVuaXRzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiBpc1N0cmluZyh1bml0cykgPyBhbGlhc2VzW3VuaXRzXSB8fCBhbGlhc2VzW3VuaXRzLnRvTG93ZXJDYXNlKCldIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplT2JqZWN0VW5pdHMoaW5wdXRPYmplY3Q6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogRGF0ZU9iamVjdCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRJbnB1dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgbGV0IG5vcm1hbGl6ZWRQcm9wO1xuICBsZXQgcHJvcDtcblxuICBmb3IgKHByb3AgaW4gaW5wdXRPYmplY3QpIHtcbiAgICBpZiAoaGFzT3duUHJvcChpbnB1dE9iamVjdCwgcHJvcCkpIHtcbiAgICAgIG5vcm1hbGl6ZWRQcm9wID0gbm9ybWFsaXplVW5pdHMocHJvcCk7XG4gICAgICBpZiAobm9ybWFsaXplZFByb3ApIHtcbiAgICAgICAgbm9ybWFsaXplZElucHV0W25vcm1hbGl6ZWRQcm9wXSA9IGlucHV0T2JqZWN0W3Byb3BdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub3JtYWxpemVkSW5wdXQ7XG59XG4iXX0=","// place in new Date([array])\nexport const YEAR = 0;\nexport const MONTH = 1;\nexport const DATE = 2;\nexport const HOUR = 3;\nexport const MINUTE = 4;\nexport const SECOND = 5;\nexport const MILLISECOND = 6;\nexport const WEEK = 7;\nexport const WEEKDAY = 8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdW5pdHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3QixNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDdkIsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUN4QixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHBsYWNlIGluIG5ldyBEYXRlKFthcnJheV0pXG5leHBvcnQgY29uc3QgWUVBUiA9IDA7XG5leHBvcnQgY29uc3QgTU9OVEggPSAxO1xuZXhwb3J0IGNvbnN0IERBVEUgPSAyO1xuZXhwb3J0IGNvbnN0IEhPVVIgPSAzO1xuZXhwb3J0IGNvbnN0IE1JTlVURSA9IDQ7XG5leHBvcnQgY29uc3QgU0VDT05EID0gNTtcbmV4cG9ydCBjb25zdCBNSUxMSVNFQ09ORCA9IDY7XG5leHBvcnQgY29uc3QgV0VFSyA9IDc7XG5leHBvcnQgY29uc3QgV0VFS0RBWSA9IDg7XG4iXX0=","export function zeroFill(num, targetLength, forceSign) {\n const absNumber = `${Math.abs(num)}`;\n const zerosToFill = targetLength - absNumber.length;\n const sign = num >= 0;\n const _sign = sign ? (forceSign ? '+' : '') : '-';\n // todo: this is crazy slow\n const _zeros = Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1);\n return (_sign + _zeros + absNumber);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVyby1maWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdXRpbHMvemVyby1maWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBVyxFQUNYLFlBQW9CLEVBQ3BCLFNBQW1CO0lBQzFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sV0FBVyxHQUFHLFlBQVksR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ3BELE1BQU0sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2xELDJCQUEyQjtJQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUzRSxPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHplcm9GaWxsKG51bTogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldExlbmd0aDogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlU2lnbj86IGJvb2xlYW4pOiBzdHJpbmcge1xuICBjb25zdCBhYnNOdW1iZXIgPSBgJHtNYXRoLmFicyhudW0pfWA7XG4gIGNvbnN0IHplcm9zVG9GaWxsID0gdGFyZ2V0TGVuZ3RoIC0gYWJzTnVtYmVyLmxlbmd0aDtcbiAgY29uc3Qgc2lnbiA9IG51bSA+PSAwO1xuICBjb25zdCBfc2lnbiA9IHNpZ24gPyAoZm9yY2VTaWduID8gJysnIDogJycpIDogJy0nO1xuICAvLyB0b2RvOiB0aGlzIGlzIGNyYXp5IHNsb3dcbiAgY29uc3QgX3plcm9zID0gTWF0aC5wb3coMTAsIE1hdGgubWF4KDAsIHplcm9zVG9GaWxsKSkudG9TdHJpbmcoKS5zdWJzdHIoMSk7XG5cbiAgcmV0dXJuIChfc2lnbiArIF96ZXJvcyArIGFic051bWJlcik7XG59XG4iXX0=","import { zeroFill } from '../utils/zero-fill';\nimport { isFunction } from '../utils/type-checks';\nexport const formatFunctions = {};\nexport const formatTokenFunctions = {};\nexport const 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// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nexport function addFormatToken(token, padded, ordinal, callback) {\n if (token) {\n formatTokenFunctions[token] = callback;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(callback.apply(null, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function (date, opts) {\n return opts.locale.ordinal(callback.apply(null, arguments), token);\n };\n }\n}\nexport function makeFormatFunction(format) {\n const array = format.match(formattingTokens);\n const length = array.length;\n const formatArr = new Array(length);\n for (let i = 0; i < length; i++) {\n formatArr[i] = formatTokenFunctions[array[i]]\n ? formatTokenFunctions[array[i]]\n : removeFormattingTokens(array[i]);\n }\n return function (date, locale, isUTC, offset = 0) {\n let output = '';\n for (let j = 0; j < length; j++) {\n output += isFunction(formatArr[j])\n ? formatArr[j].call(null, date, { format, locale, isUTC, offset })\n : formatArr[j];\n }\n return output;\n };\n}\nfunction removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvZm9ybWF0L2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FFeEIsRUFBRSxDQUFDO0FBQ1AsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXVDLEVBQUUsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxzTEFBc0wsQ0FBQztBQUV2TixnQkFBZ0I7QUFDaEIsc0JBQXNCO0FBQ3RCLGlCQUFpQjtBQUNqQiw2Q0FBNkM7QUFDN0MsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFhLEVBQ2IsTUFBaUMsRUFDakMsT0FBZSxFQUNmLFFBQXlCO0lBRXRELElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixvQkFBb0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztZQUNoQyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixvQkFBb0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxVQUFVLElBQVUsRUFBRSxJQUEwQjtZQUM5RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWM7SUFHL0MsTUFBTSxLQUFLLEdBQWEsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFFNUIsTUFBTSxTQUFTLEdBQWlDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWxFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLFVBQVUsSUFBVSxFQUFFLE1BQWMsRUFBRSxLQUFjLEVBQUUsTUFBTSxHQUFHLENBQUM7UUFFckUsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsQ0FBQyxDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztnQkFDckYsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsS0FBYTtJQUMzQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IHplcm9GaWxsIH0gZnJvbSAnLi4vdXRpbHMvemVyby1maWxsJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBEYXRlRm9ybWF0dGVyT3B0aW9ucywgRGF0ZUZvcm1hdHRlckZuIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0RnVuY3Rpb25zOiB7XG4gIFtrZXk6IHN0cmluZ106IChkYXRlOiBEYXRlLCBsb2NhbGU6IExvY2FsZSwgaXNVVEM/OiBib29sZWFuLCBvZmZzZXQ/OiBudW1iZXIpID0+IHN0cmluZztcbn0gPSB7fTtcbmV4cG9ydCBjb25zdCBmb3JtYXRUb2tlbkZ1bmN0aW9uczogeyBba2V5OiBzdHJpbmddOiBEYXRlRm9ybWF0dGVyRm4gfSA9IHt9O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0dGluZ1Rva2VucyA9IC8oXFxbW15cXFtdKlxcXSl8KFxcXFwpPyhbSGhdbW0oc3MpP3xNb3xNTT9NP00/fERvfERERG98REQ/RD9EP3xkZGQ/ZD98ZG8/fHdbb3x3XT98V1tvfFddP3xRbz98WVlZWVlZfFlZWVlZfFlZWVl8WVl8Z2coZ2dnPyk/fEdHKEdHRz8pP3xlfEV8YXxBfGhoP3xISD98a2s/fG1tP3xzcz98U3sxLDl9fHh8WHx6ej98Wlo/fC4pL2c7XG5cbi8vIHRva2VuOiAgICAnTSdcbi8vIHBhZGRlZDogICBbJ01NJywgMl1cbi8vIG9yZGluYWw6ICAnTW8nXG4vLyBjYWxsYmFjazogZnVuY3Rpb24gKCkgeyB0aGlzLm1vbnRoKCkgKyAxIH1cbmV4cG9ydCBmdW5jdGlvbiBhZGRGb3JtYXRUb2tlbih0b2tlbjogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRlZDogW3N0cmluZywgbnVtYmVyLCBib29sZWFuXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRpbmFsOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IERhdGVGb3JtYXR0ZXJGbik6IHZvaWQge1xuXG4gIGlmICh0b2tlbikge1xuICAgIGZvcm1hdFRva2VuRnVuY3Rpb25zW3Rva2VuXSA9IGNhbGxiYWNrO1xuICB9XG5cbiAgaWYgKHBhZGRlZCkge1xuICAgIGZvcm1hdFRva2VuRnVuY3Rpb25zW3BhZGRlZFswXV0gPSBmdW5jdGlvbiAoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB6ZXJvRmlsbChjYWxsYmFjay5hcHBseShudWxsLCBhcmd1bWVudHMpLCBwYWRkZWRbMV0sIHBhZGRlZFsyXSk7XG4gICAgfTtcbiAgfVxuXG4gIGlmIChvcmRpbmFsKSB7XG4gICAgZm9ybWF0VG9rZW5GdW5jdGlvbnNbb3JkaW5hbF0gPSBmdW5jdGlvbiAoZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIG9wdHMubG9jYWxlLm9yZGluYWwoY2FsbGJhY2suYXBwbHkobnVsbCwgYXJndW1lbnRzKSwgdG9rZW4pO1xuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VGb3JtYXRGdW5jdGlvbihmb3JtYXQ6IHN0cmluZyk6XG4gIChkYXRlOiBEYXRlLCBsb2NhbGU6IExvY2FsZSwgaXNVVEM/OiBib29sZWFuLCBvZmZzZXQ/OiBudW1iZXIpID0+IHN0cmluZyB7XG5cbiAgY29uc3QgYXJyYXk6IHN0cmluZ1tdID0gZm9ybWF0Lm1hdGNoKGZvcm1hdHRpbmdUb2tlbnMpO1xuICBjb25zdCBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgY29uc3QgZm9ybWF0QXJyOiBzdHJpbmdbXSB8IERhdGVGb3JtYXR0ZXJGbltdID0gbmV3IEFycmF5KGxlbmd0aCk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIGZvcm1hdEFycltpXSA9IGZvcm1hdFRva2VuRnVuY3Rpb25zW2FycmF5W2ldXVxuICAgICAgPyBmb3JtYXRUb2tlbkZ1bmN0aW9uc1thcnJheVtpXV1cbiAgICAgIDogcmVtb3ZlRm9ybWF0dGluZ1Rva2VucyhhcnJheVtpXSk7XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKGRhdGU6IERhdGUsIGxvY2FsZTogTG9jYWxlLCBpc1VUQzogYm9vbGVhbiwgb2Zmc2V0ID0gMCk6IHN0cmluZyB7XG5cbiAgICBsZXQgb3V0cHV0ID0gJyc7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBsZW5ndGg7IGorKykge1xuICAgICAgb3V0cHV0ICs9IGlzRnVuY3Rpb24oZm9ybWF0QXJyW2pdKVxuICAgICAgICA/IChmb3JtYXRBcnJbal0gYXMgRGF0ZUZvcm1hdHRlckZuKS5jYWxsKG51bGwsIGRhdGUsIHtmb3JtYXQsIGxvY2FsZSwgaXNVVEMsIG9mZnNldH0pXG4gICAgICAgIDogZm9ybWF0QXJyW2pdO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUZvcm1hdHRpbmdUb2tlbnMoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChpbnB1dC5tYXRjaCgvXFxbW1xcc1xcU10vKSkge1xuICAgIHJldHVybiBpbnB1dC5yZXBsYWNlKC9eXFxbfFxcXSQvZywgJycpO1xuICB9XG5cbiAgcmV0dXJuIGlucHV0LnJlcGxhY2UoL1xcXFwvZywgJycpO1xufVxuIl19","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function createUTCDate(y, m, d) {\n // eslint-disable-next-line prefer-rest-params\n const date = new Date(Date.UTC.apply(null, arguments));\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n}\nexport function createDate(y, m = 0, d = 1, h = 0, M = 0, s = 0, ms = 0) {\n const date = new Date(y, m, d, h, M, s, ms);\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mcm9tLWFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvY3JlYXRlL2RhdGUtZnJvbS1hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2REFBNkQ7QUFDN0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFVLEVBQUUsQ0FBVSxFQUFFLENBQVU7SUFDOUQsOENBQThDO0lBQzlDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXZELHVEQUF1RDtJQUN2RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQVUsRUFDVixDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLENBQUMsRUFDTCxDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsRUFBRSxHQUFHLENBQUM7SUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFNUMsc0RBQXNEO0lBQ3RELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVVENEYXRlKHk/OiBudW1iZXIsIG0/OiBudW1iZXIsIGQ/OiBudW1iZXIpOiBEYXRlIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1yZXN0LXBhcmFtc1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoRGF0ZS5VVEMuYXBwbHkobnVsbCwgYXJndW1lbnRzKSk7XG5cbiAgLy8gdGhlIERhdGUuVVRDIGZ1bmN0aW9uIHJlbWFwcyB5ZWFycyAwLTk5IHRvIDE5MDAtMTk5OVxuICBpZiAoeSA8IDEwMCAmJiB5ID49IDAgJiYgaXNGaW5pdGUoZGF0ZS5nZXRVVENGdWxsWWVhcigpKSkge1xuICAgIGRhdGUuc2V0VVRDRnVsbFllYXIoeSk7XG4gIH1cblxuICByZXR1cm4gZGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGUoeT86IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZCA9IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBoID0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIE0gPSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBtcyA9IDApOiBEYXRlIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHksIG0sIGQsIGgsIE0sIHMsIG1zKTtcblxuICAvLyB0aGUgZGF0ZSBjb25zdHJ1Y3RvciByZW1hcHMgeWVhcnMgMC05OSB0byAxOTAwLTE5OTlcbiAgaWYgKHkgPCAxMDAgJiYgeSA+PSAwICYmIGlzRmluaXRlKGRhdGUuZ2V0RnVsbFllYXIoKSkpIHtcbiAgICBkYXRlLnNldEZ1bGxZZWFyKHkpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGU7XG59XG4iXX0=","import { createDate } from '../create/date-from-array';\nexport function getHours(date, isUTC = false) {\n return isUTC ? date.getUTCHours() : date.getHours();\n}\nexport function getMinutes(date, isUTC = false) {\n return isUTC ? date.getUTCMinutes() : date.getMinutes();\n}\nexport function getSeconds(date, isUTC = false) {\n return isUTC ? date.getUTCSeconds() : date.getSeconds();\n}\nexport function getMilliseconds(date, isUTC = false) {\n return isUTC ? date.getUTCMilliseconds() : date.getMilliseconds();\n}\nexport function getTime(date) {\n return date.getTime();\n}\nexport function getDay(date, isUTC = false) {\n return isUTC ? date.getUTCDay() : date.getDay();\n}\nexport function getDate(date, isUTC = false) {\n return isUTC ? date.getUTCDate() : date.getDate();\n}\nexport function getMonth(date, isUTC = false) {\n return isUTC ? date.getUTCMonth() : date.getMonth();\n}\nexport function getFullYear(date, isUTC = false) {\n return isUTC ? date.getUTCFullYear() : date.getFullYear();\n}\nexport function getUnixTime(date) {\n return Math.floor(date.valueOf() / 1000);\n}\nexport function unix(date) {\n return Math.floor(date.valueOf() / 1000);\n}\nexport function getFirstDayOfMonth(date) {\n return createDate(date.getFullYear(), date.getMonth(), 1, date.getHours(), date.getMinutes(), date.getSeconds());\n}\nexport function daysInMonth(date) {\n return _daysInMonth(date.getFullYear(), date.getMonth());\n}\nexport function _daysInMonth(year, month) {\n return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();\n}\nexport function isFirstDayOfWeek(date, firstDayOfWeek) {\n return date.getDay() === Number(firstDayOfWeek);\n}\nexport function isSameMonth(date1, date2) {\n if (!date1 || !date2) {\n return false;\n }\n return isSameYear(date1, date2) && getMonth(date1) === getMonth(date2);\n}\nexport function isSameYear(date1, date2) {\n if (!date1 || !date2) {\n return false;\n }\n return getFullYear(date1) === getFullYear(date2);\n}\nexport function isSameDay(date1, date2) {\n if (!date1 || !date2) {\n return false;\n }\n return (isSameYear(date1, date2) &&\n isSameMonth(date1, date2) &&\n getDate(date1) === getDate(date2));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1nZXR0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdXRpbHMvZGF0ZS1nZXR0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVUsRUFBRSxLQUFLLEdBQUcsS0FBSztJQUNoRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDdEQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBVSxFQUFFLEtBQUssR0FBRyxLQUFLO0lBQ2xELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUMxRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFVLEVBQUUsS0FBSyxHQUFHLEtBQUs7SUFDbEQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVUsRUFBRSxLQUFLLEdBQUcsS0FBSztJQUN2RCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUNwRSxDQUFDO0FBQ0QsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFVO0lBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLElBQVUs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QztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFZLEVBQUUsS0FBWTtJQUNsRCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxDQUNMLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3hCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQ2xDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRGF0ZSB9IGZyb20gJy4uL2NyZWF0ZS9kYXRlLWZyb20tYXJyYXknO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SG91cnMoZGF0ZTogRGF0ZSwgaXNVVEMgPSBmYWxzZSk6IG51bWJlciB7XG4gIHJldHVybiBpc1VUQyA/IGRhdGUuZ2V0VVRDSG91cnMoKSA6IGRhdGUuZ2V0SG91cnMoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbnV0ZXMoZGF0ZTogRGF0ZSwgaXNVVEMgPSBmYWxzZSk6IG51bWJlciB7XG4gIHJldHVybiBpc1VUQyA/IGRhdGUuZ2V0VVRDTWludXRlcygpIDogZGF0ZS5nZXRNaW51dGVzKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWNvbmRzKGRhdGU6IERhdGUsIGlzVVRDID0gZmFsc2UpOiBudW1iZXIge1xuICByZXR1cm4gaXNVVEMgPyBkYXRlLmdldFVUQ1NlY29uZHMoKSA6IGRhdGUuZ2V0U2Vjb25kcygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWlsbGlzZWNvbmRzKGRhdGU6IERhdGUsIGlzVVRDID0gZmFsc2UpOiBudW1iZXIge1xuICByZXR1cm4gaXNVVEMgPyBkYXRlLmdldFVUQ01pbGxpc2Vjb25kcygpIDogZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICByZXR1cm4gZGF0ZS5nZXRUaW1lKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXkoZGF0ZTogRGF0ZSwgaXNVVEMgPSBmYWxzZSk6IG51bWJlciB7XG4gIHJldHVybiBpc1VUQyA/IGRhdGUuZ2V0VVRDRGF5KCkgOiBkYXRlLmdldERheSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0ZShkYXRlOiBEYXRlLCBpc1VUQyA9IGZhbHNlKTogbnVtYmVyIHtcbiAgcmV0dXJuIGlzVVRDID8gZGF0ZS5nZXRVVENEYXRlKCkgOiBkYXRlLmdldERhdGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vbnRoKGRhdGU6IERhdGUsIGlzVVRDID0gZmFsc2UpOiBudW1iZXIge1xuICByZXR1cm4gaXNVVEMgPyBkYXRlLmdldFVUQ01vbnRoKCkgOiBkYXRlLmdldE1vbnRoKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsWWVhcihkYXRlOiBEYXRlLCBpc1VUQyA9IGZhbHNlKTogbnVtYmVyIHtcbiAgcmV0dXJuIGlzVVRDID8gZGF0ZS5nZXRVVENGdWxsWWVhcigpIDogZGF0ZS5nZXRGdWxsWWVhcigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VW5peFRpbWUoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gIHJldHVybiBNYXRoLmZsb29yKGRhdGUudmFsdWVPZigpIC8gMTAwMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml4KGRhdGU6IERhdGUpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5mbG9vcihkYXRlLnZhbHVlT2YoKSAvIDEwMDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rmlyc3REYXlPZk1vbnRoKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgcmV0dXJuIGNyZWF0ZURhdGUoXG4gICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgIGRhdGUuZ2V0TW9udGgoKSxcbiAgICAxLFxuICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICBkYXRlLmdldFNlY29uZHMoKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF5c0luTW9udGgoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gIHJldHVybiBfZGF5c0luTW9udGgoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX2RheXNJbk1vbnRoKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyLCBtb250aCArIDEsIDApKS5nZXRVVENEYXRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpcnN0RGF5T2ZXZWVrKGRhdGU6IERhdGUsIGZpcnN0RGF5T2ZXZWVrPzogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBkYXRlLmdldERheSgpID09PSBOdW1iZXIoZmlyc3REYXlPZldlZWspO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lTW9udGgoZGF0ZTE/OiBEYXRlLCBkYXRlMj86IERhdGUpIHtcbiAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gaXNTYW1lWWVhcihkYXRlMSwgZGF0ZTIpICYmIGdldE1vbnRoKGRhdGUxKSA9PT0gZ2V0TW9udGgoZGF0ZTIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lWWVhcihkYXRlMT86IERhdGUsIGRhdGUyPzogRGF0ZSkge1xuICBpZiAoIWRhdGUxIHx8ICFkYXRlMikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBnZXRGdWxsWWVhcihkYXRlMSkgPT09IGdldEZ1bGxZZWFyKGRhdGUyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZURheShkYXRlMT86IERhdGUsIGRhdGUyPzogRGF0ZSk6IGJvb2xlYW4ge1xuICBpZiAoIWRhdGUxIHx8ICFkYXRlMikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgaXNTYW1lWWVhcihkYXRlMSwgZGF0ZTIpICYmXG4gICAgaXNTYW1lTW9udGgoZGF0ZTEsIGRhdGUyKSAmJlxuICAgIGdldERhdGUoZGF0ZTEpID09PSBnZXREYXRlKGRhdGUyKVxuICApO1xufVxuIl19","import { hasOwnProp, isFunction } from '../utils/type-checks';\nexport const match1 = /\\d/; // 0 - 9\nexport const match2 = /\\d\\d/; // 00 - 99\nexport const match3 = /\\d{3}/; // 000 - 999\nexport const match4 = /\\d{4}/; // 0000 - 9999\nexport const match6 = /[+-]?\\d{6}/; // -999999 - 999999\nexport const match1to2 = /\\d\\d?/; // 0 - 99\nexport const match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\nexport const match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\nexport const match1to3 = /\\d{1,3}/; // 0 - 999\nexport const match1to4 = /\\d{1,4}/; // 0 - 9999\nexport const match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\nexport const matchUnsigned = /\\d+/; // 0 - inf\nexport const matchSigned = /[+-]?\\d+/; // -inf - inf\nexport const matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nexport const matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\nexport const 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\nexport const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\nconst regexes = {};\nexport function addRegexToken(token, regex, strictRegex) {\n if (isFunction(regex)) {\n regexes[token] = regex;\n return;\n }\n regexes[token] = function (isStrict, locale) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n}\nexport function getParseRegexForToken(token, locale) {\n const _strict = false;\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n return regexes[token](_strict, locale);\n}\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(str) {\n return regexEscape(str\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, (matched, p1, p2, p3, p4) => p1 || p2 || p3 || p4));\n}\nexport function regexEscape(str) {\n return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9wYXJzZS9yZWdleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzlELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBWSxjQUFjO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBVSxlQUFlO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBUyxnQkFBZ0I7QUFDdkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFTLGlCQUFpQjtBQUN4RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUksbUJBQW1CO0FBQzFELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBUyxlQUFlO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBSyxpQkFBaUI7QUFDM0QsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDLG1CQUFtQjtBQUM3RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQU8sZ0JBQWdCO0FBQzFELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBTyxpQkFBaUI7QUFDM0QsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxDQUFFLG1CQUFtQjtBQUU3RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQVcsZ0JBQWdCO0FBQzlELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBTSxnQkFBZ0I7QUFFNUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLENBQUMsaUNBQWlDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLHlCQUF5QixDQUFDLENBQUMseUNBQXlDO0FBRXBHLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLDBCQUEwQjtBQUVoRixvRkFBb0Y7QUFDcEYsMERBQTBEO0FBQzFELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRywwSUFBMEksQ0FBQztBQUdwSyxNQUFNLE9BQU8sR0FBbUMsRUFBRSxDQUFDO0FBR25ELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYSxFQUFFLEtBQTZCLEVBQUUsV0FBb0I7SUFDOUYsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRXZCLE9BQU87SUFDVCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVUsUUFBaUIsRUFBRSxNQUFjO1FBQzFELE9BQU8sQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pELENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBYSxFQUFFLE1BQWM7SUFDakUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCx1R0FBdUc7QUFDdkcsU0FBUyxjQUFjLENBQUMsR0FBVztJQUNqQyxPQUFPLFdBQVcsQ0FBQyxHQUFHO1NBQ25CLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1NBQ2pCLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUNuRyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBVztJQUNyQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc093blByb3AsIGlzRnVuY3Rpb24gfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IG1hdGNoMSA9IC9cXGQvOyAgICAgICAgICAgIC8vICAgICAgIDAgLSA5XG5leHBvcnQgY29uc3QgbWF0Y2gyID0gL1xcZFxcZC87ICAgICAgICAgIC8vICAgICAgMDAgLSA5OVxuZXhwb3J0IGNvbnN0IG1hdGNoMyA9IC9cXGR7M30vOyAgICAgICAgIC8vICAgICAwMDAgLSA5OTlcbmV4cG9ydCBjb25zdCBtYXRjaDQgPSAvXFxkezR9LzsgICAgICAgICAvLyAgICAwMDAwIC0gOTk5OVxuZXhwb3J0IGNvbnN0IG1hdGNoNiA9IC9bKy1dP1xcZHs2fS87ICAgIC8vIC05OTk5OTkgLSA5OTk5OTlcbmV4cG9ydCBjb25zdCBtYXRjaDF0bzIgPSAvXFxkXFxkPy87ICAgICAgICAgLy8gICAgICAgMCAtIDk5XG5leHBvcnQgY29uc3QgbWF0Y2gzdG80ID0gL1xcZFxcZFxcZFxcZD8vOyAgICAgLy8gICAgIDk5OSAtIDk5OTlcbmV4cG9ydCBjb25zdCBtYXRjaDV0bzYgPSAvXFxkXFxkXFxkXFxkXFxkXFxkPy87IC8vICAgOTk5OTkgLSA5OTk5OTlcbmV4cG9ydCBjb25zdCBtYXRjaDF0bzMgPSAvXFxkezEsM30vOyAgICAgICAvLyAgICAgICAwIC0gOTk5XG5leHBvcnQgY29uc3QgbWF0Y2gxdG80ID0gL1xcZHsxLDR9LzsgICAgICAgLy8gICAgICAgMCAtIDk5OTlcbmV4cG9ydCBjb25zdCBtYXRjaDF0bzYgPSAvWystXT9cXGR7MSw2fS87ICAvLyAtOTk5OTk5IC0gOTk5OTk5XG5cbmV4cG9ydCBjb25zdCBtYXRjaFVuc2lnbmVkID0gL1xcZCsvOyAgICAgICAgICAgLy8gICAgICAgMCAtIGluZlxuZXhwb3J0IGNvbnN0IG1hdGNoU2lnbmVkID0gL1srLV0/XFxkKy87ICAgICAgLy8gICAgLWluZiAtIGluZlxuXG5leHBvcnQgY29uc3QgbWF0Y2hPZmZzZXQgPSAvWnxbKy1dXFxkXFxkOj9cXGRcXGQvZ2k7IC8vICswMDowMCAtMDA6MDAgKzAwMDAgLTAwMDAgb3IgWlxuZXhwb3J0IGNvbnN0IG1hdGNoU2hvcnRPZmZzZXQgPSAvWnxbKy1dXFxkXFxkKD86Oj9cXGRcXGQpPy9naTsgLy8gKzAwIC0wMCArMDA6MDAgLTAwOjAwICswMDAwIC0wMDAwIG9yIFpcblxuZXhwb3J0IGNvbnN0IG1hdGNoVGltZXN0YW1wID0gL1srLV0/XFxkKyhcXC5cXGR7MSwzfSk/LzsgLy8gMTIzNDU2Nzg5IDEyMzQ1Njc4OS4xMjNcblxuLy8gYW55IHdvcmQgKG9yIHR3bykgY2hhcmFjdGVycyBvciBudW1iZXJzIGluY2x1ZGluZyB0d28vdGhyZWUgd29yZCBtb250aCBpbiBhcmFiaWMuXG4vLyBpbmNsdWRlcyBzY290dGlzaCBnYWVsaWMgdHdvIHdvcmQgYW5kIGh5cGhlbmF0ZWQgbW9udGhzXG5leHBvcnQgY29uc3QgbWF0Y2hXb3JkID0gL1swLTldezAsMjU2fVsnYS16XFx1MDBBMC1cXHUwNUZGXFx1MDcwMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXXsxLDI1Nn18W1xcdTA2MDAtXFx1MDZGRlxcL117MSwyNTZ9KFxccyo/W1xcdTA2MDAtXFx1MDZGRl17MSwyNTZ9KXsxLDJ9L2k7XG5cbmV4cG9ydCB0eXBlIFJlZ0V4cFRva2VuRm4gPSAoaXNTdHJpY3Q6IGJvb2xlYW4sIGxvY2FsZTogTG9jYWxlKSA9PiBSZWdFeHA7XG5jb25zdCByZWdleGVzOiB7W2tleTogc3RyaW5nXTogUmVnRXhwVG9rZW5Gbn0gPSB7fTtcblxuXG5leHBvcnQgZnVuY3Rpb24gYWRkUmVnZXhUb2tlbih0b2tlbjogc3RyaW5nLCByZWdleDogUmVnRXhwIHwgUmVnRXhwVG9rZW5Gbiwgc3RyaWN0UmVnZXg/OiBSZWdFeHApOiB2b2lkIHtcbiAgaWYgKGlzRnVuY3Rpb24ocmVnZXgpKSB7XG4gICAgcmVnZXhlc1t0b2tlbl0gPSByZWdleDtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHJlZ2V4ZXNbdG9rZW5dID0gZnVuY3Rpb24gKGlzU3RyaWN0OiBib29sZWFuLCBsb2NhbGU6IExvY2FsZSkge1xuICAgIHJldHVybiAoaXNTdHJpY3QgJiYgc3RyaWN0UmVnZXgpID8gc3RyaWN0UmVnZXggOiByZWdleDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcnNlUmVnZXhGb3JUb2tlbih0b2tlbjogc3RyaW5nLCBsb2NhbGU6IExvY2FsZSk6IFJlZ0V4cCB7XG4gIGNvbnN0IF9zdHJpY3QgPSBmYWxzZTtcbiAgaWYgKCFoYXNPd25Qcm9wKHJlZ2V4ZXMsIHRva2VuKSkge1xuICAgIHJldHVybiBuZXcgUmVnRXhwKHVuZXNjYXBlRm9ybWF0KHRva2VuKSk7XG4gIH1cblxuICByZXR1cm4gcmVnZXhlc1t0b2tlbl0oX3N0cmljdCwgbG9jYWxlKTtcbn1cblxuLy8gQ29kZSBmcm9tIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzU2MTQ5My9pcy10aGVyZS1hLXJlZ2V4cC1lc2NhcGUtZnVuY3Rpb24taW4tamF2YXNjcmlwdFxuZnVuY3Rpb24gdW5lc2NhcGVGb3JtYXQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVnZXhFc2NhcGUoc3RyXG4gICAgLnJlcGxhY2UoJ1xcXFwnLCAnJylcbiAgICAucmVwbGFjZSgvXFxcXChcXFspfFxcXFwoXFxdKXxcXFsoW15cXF1cXFtdKilcXF18XFxcXCguKS9nLCAobWF0Y2hlZCwgcDEsIHAyLCBwMywgcDQpID0+IHAxIHx8IHAyIHx8IHAzIHx8IHA0KVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnZXhFc2NhcGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1stXFwvXFxcXF4kKis/LigpfFtcXF17fV0vZywgJ1xcXFwkJicpO1xufVxuIl19","import { hasOwnProp, isArray, isFunction, isNumber, isString, toInt } from '../utils/type-checks';\nconst tokens = {};\nexport function addParseToken(token, callback) {\n const _token = isString(token) ? [token] : token;\n let func = callback;\n if (isNumber(callback)) {\n func = function (input, array, config) {\n array[callback] = toInt(input);\n return config;\n };\n }\n if (isArray(_token) && isFunction(func)) {\n let i;\n for (i = 0; i < _token.length; i++) {\n tokens[_token[i]] = func;\n }\n }\n}\nexport function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, _token) {\n config._w = config._w || {};\n return callback(input, config._w, config, _token);\n });\n}\nexport function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n return config;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9wYXJzZS90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRyxNQUFNLE1BQU0sR0FBc0MsRUFBRSxDQUFDO0FBRXJELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBd0IsRUFBRSxRQUFtQztJQUN6RixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqRCxJQUFJLElBQUksR0FBRyxRQUFRLENBQUM7SUFFcEIsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN2QixJQUFJLEdBQUcsVUFBVSxLQUFhLEVBQUUsS0FBZ0IsRUFBRSxNQUF5QjtZQUN6RSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRS9CLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBUyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsQ0FBQztRQUNOLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWUsRUFBRSxRQUEwQjtJQUMzRSxhQUFhLENBQUMsS0FBSyxFQUFFLFVBQVUsS0FBYSxFQUFFLEtBQWdCLEVBQUUsTUFBeUIsRUFBRSxNQUFjO1FBQ3ZHLE1BQU0sQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFNUIsT0FBTyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUdELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLE1BQXlCO0lBQzdGLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc093blByb3AsIGlzQXJyYXksIGlzRnVuY3Rpb24sIGlzTnVtYmVyLCBpc1N0cmluZywgdG9JbnQgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4uL2NyZWF0ZS9wYXJzaW5nLnR5cGVzJztcbmltcG9ydCB7IERhdGVBcnJheSwgRGF0ZVBhcnNlVG9rZW5GbiB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgdG9rZW5zOiB7W2tleTogc3RyaW5nXTogRGF0ZVBhcnNlVG9rZW5Gbn0gPSB7fTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFBhcnNlVG9rZW4odG9rZW46IHN0cmluZyB8IHN0cmluZ1tdLCBjYWxsYmFjazogRGF0ZVBhcnNlVG9rZW5GbiB8IG51bWJlcikge1xuICBjb25zdCBfdG9rZW4gPSBpc1N0cmluZyh0b2tlbikgPyBbdG9rZW5dIDogdG9rZW47XG4gIGxldCBmdW5jID0gY2FsbGJhY2s7XG5cbiAgaWYgKGlzTnVtYmVyKGNhbGxiYWNrKSkge1xuICAgIGZ1bmMgPSBmdW5jdGlvbiAoaW5wdXQ6IHN0cmluZywgYXJyYXk6IERhdGVBcnJheSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICAgIGFycmF5W2NhbGxiYWNrXSA9IHRvSW50KGlucHV0KTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9O1xuICB9XG5cbiAgaWYgKGlzQXJyYXk8c3RyaW5nPihfdG9rZW4pICYmIGlzRnVuY3Rpb24oZnVuYykpIHtcbiAgICBsZXQgaTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgX3Rva2VuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0b2tlbnNbX3Rva2VuW2ldXSA9IGZ1bmM7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRXZWVrUGFyc2VUb2tlbih0b2tlbjogc3RyaW5nW10sIGNhbGxiYWNrOiBEYXRlUGFyc2VUb2tlbkZuKTogdm9pZCB7XG4gIGFkZFBhcnNlVG9rZW4odG9rZW4sIGZ1bmN0aW9uIChpbnB1dDogc3RyaW5nLCBhcnJheTogRGF0ZUFycmF5LCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnLCBfdG9rZW46IHN0cmluZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICBjb25maWcuX3cgPSBjb25maWcuX3cgfHwge307XG5cbiAgICByZXR1cm4gY2FsbGJhY2soaW5wdXQsIGNvbmZpZy5fdywgY29uZmlnLCBfdG9rZW4pO1xuICB9KTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gYWRkVGltZVRvQXJyYXlGcm9tVG9rZW4odG9rZW46IHN0cmluZywgaW5wdXQ6IHN0cmluZywgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgaWYgKGlucHV0ICE9IG51bGwgJiYgaGFzT3duUHJvcCh0b2tlbnMsIHRva2VuKSkge1xuICAgIHRva2Vuc1t0b2tlbl0oaW5wdXQsIGNvbmZpZy5fYSwgY29uZmlnLCB0b2tlbik7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuIl19","const priorities = {};\nexport function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n}\n/*\nexport function getPrioritizedUnits(unitsObj) {\n const units = [];\n let unit;\n for (unit in unitsObj) {\n if (unitsObj.hasOwnProperty(unit)) {\n units.push({ unit, priority: priorities[unit] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n\n return units;\n}\n*/\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpb3JpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL3VuaXRzL3ByaW9yaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQTRCLEVBQUUsQ0FBQztBQUUvQyxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVksRUFBRSxRQUFnQjtJQUM1RCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO0FBQzlCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7O0VBZUUiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBwcmlvcml0aWVzOiB7W2tleTogc3RyaW5nXTogbnVtYmVyfSA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkVW5pdFByaW9yaXR5KHVuaXQ6IHN0cmluZywgcHJpb3JpdHk6IG51bWJlcik6IHZvaWQge1xuICBwcmlvcml0aWVzW3VuaXRdID0gcHJpb3JpdHk7XG59XG5cbi8qXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJpb3JpdGl6ZWRVbml0cyh1bml0c09iaikge1xuICBjb25zdCB1bml0cyA9IFtdO1xuICBsZXQgdW5pdDtcbiAgZm9yICh1bml0IGluIHVuaXRzT2JqKSB7XG4gICAgaWYgKHVuaXRzT2JqLmhhc093blByb3BlcnR5KHVuaXQpKSB7XG4gICAgICB1bml0cy5wdXNoKHsgdW5pdCwgcHJpb3JpdHk6IHByaW9yaXRpZXNbdW5pdF0gfSk7XG4gICAgfVxuICB9XG4gIHVuaXRzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICByZXR1cm4gYS5wcmlvcml0eSAtIGIucHJpb3JpdHk7XG4gIH0pO1xuXG4gIHJldHVybiB1bml0cztcbn1cbiovXG4iXX0=","import { addFormatToken } from '../format/format';\nimport { getDate } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { DATE } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nexport function initDayOfMonth() {\n // FORMATTING\n addFormatToken('D', ['DD', 2, false], 'Do', function (date, opts) {\n return getDate(date, opts.isUTC)\n .toString(10);\n });\n // ALIASES\n addUnitAlias('date', 'D');\n // PRIOROITY\n addUnitPriority('date', 9);\n // PARSING\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n return locale._dayOfMonthOrdinalParse || locale._ordinalParse;\n });\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array, config) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n return config;\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LW9mLW1vbnRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdW5pdHMvZGF5LW9mLW1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkvQyxNQUFNLFVBQVUsY0FBYztJQUM5QixhQUFhO0lBRVgsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUN4QyxVQUFTLElBQVUsRUFBRSxJQUEwQjtRQUM3QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUM3QixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUNGLENBQUM7SUFFSixVQUFVO0lBRVIsWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUU1QixZQUFZO0lBQ1YsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3QixVQUFVO0lBRVIsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QixhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2QyxhQUFhLENBQUMsSUFBSSxFQUFFLFVBQVMsUUFBUSxFQUFFLE1BQU07UUFDM0MsT0FBTyxNQUFNLENBQUMsdUJBQXVCLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUNoRSxDQUFDLENBQUMsQ0FBQztJQUVILGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqQyxhQUFhLENBQ1gsSUFBSSxFQUNKLFVBQVMsS0FBYSxFQUFFLEtBQWdCLEVBQUUsTUFBeUI7UUFDakUsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkRm9ybWF0VG9rZW4gfSBmcm9tICcuLi9mb3JtYXQvZm9ybWF0JztcbmltcG9ydCB7IGdldERhdGUgfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuaW1wb3J0IHsgYWRkUmVnZXhUb2tlbiwgbWF0Y2gxdG8yLCBtYXRjaDIgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBhZGRQYXJzZVRva2VuIH0gZnJvbSAnLi4vcGFyc2UvdG9rZW4nO1xuaW1wb3J0IHsgREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHRvSW50IH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgRGF0ZUFycmF5LCBEYXRlRm9ybWF0dGVyT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFkZFVuaXRBbGlhcyB9IGZyb20gJy4vYWxpYXNlcyc7XG5pbXBvcnQgeyBhZGRVbml0UHJpb3JpdHkgfSBmcm9tICcuL3ByaW9yaXRpZXMnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuLi9jcmVhdGUvcGFyc2luZy50eXBlcyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXREYXlPZk1vbnRoKCkge1xuLy8gRk9STUFUVElOR1xuXG4gIGFkZEZvcm1hdFRva2VuKCdEJywgWydERCcsIDIsIGZhbHNlXSwgJ0RvJyxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gZ2V0RGF0ZShkYXRlLCBvcHRzLmlzVVRDKVxuICAgICAgICAudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcblxuLy8gQUxJQVNFU1xuXG4gIGFkZFVuaXRBbGlhcygnZGF0ZScsICdEJyk7XG5cbi8vIFBSSU9ST0lUWVxuICBhZGRVbml0UHJpb3JpdHkoJ2RhdGUnLCA5KTtcblxuLy8gUEFSU0lOR1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ0QnLCBtYXRjaDF0bzIpO1xuICBhZGRSZWdleFRva2VuKCdERCcsIG1hdGNoMXRvMiwgbWF0Y2gyKTtcbiAgYWRkUmVnZXhUb2tlbignRG8nLCBmdW5jdGlvbihpc1N0cmljdCwgbG9jYWxlKSB7XG4gICAgcmV0dXJuIGxvY2FsZS5fZGF5T2ZNb250aE9yZGluYWxQYXJzZSB8fCBsb2NhbGUuX29yZGluYWxQYXJzZTtcbiAgfSk7XG5cbiAgYWRkUGFyc2VUb2tlbihbJ0QnLCAnREQnXSwgREFURSk7XG4gIGFkZFBhcnNlVG9rZW4oXG4gICAgJ0RvJyxcbiAgICBmdW5jdGlvbihpbnB1dDogc3RyaW5nLCBhcnJheTogRGF0ZUFycmF5LCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICAgICAgYXJyYXlbREFURV0gPSB0b0ludChpbnB1dC5tYXRjaChtYXRjaDF0bzIpWzBdKTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG4gICk7XG59XG4iXX0=","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}\nexport function getParsingFlags(config) {\n if (config._pf == null) {\n config._pf = defaultParsingFlags();\n }\n return config._pf;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2luZy1mbGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL2NyZWF0ZS9wYXJzaW5nLWZsYWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLFNBQVMsbUJBQW1CO0lBQzFCLHFDQUFxQztJQUNyQyxPQUFPO1FBQ0wsS0FBSyxFQUFFLEtBQUs7UUFDWixZQUFZLEVBQUUsRUFBRTtRQUNoQixXQUFXLEVBQUUsRUFBRTtRQUNmLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDWixhQUFhLEVBQUUsQ0FBQztRQUNoQixTQUFTLEVBQUUsS0FBSztRQUNoQixZQUFZLEVBQUUsSUFBSTtRQUNsQixhQUFhLEVBQUUsS0FBSztRQUNwQixlQUFlLEVBQUUsS0FBSztRQUN0QixHQUFHLEVBQUUsS0FBSztRQUNWLGVBQWUsRUFBRSxFQUFFO1FBQ25CLFFBQVEsRUFBRSxJQUFJO1FBQ2QsT0FBTyxFQUFFLEtBQUs7UUFDZCxlQUFlLEVBQUUsS0FBSztLQUN2QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBeUI7SUFDdkQsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZywgRGF0ZVBhcnNpbmdGbGFncyB9IGZyb20gJy4vcGFyc2luZy50eXBlcyc7XG5cbmZ1bmN0aW9uIGRlZmF1bHRQYXJzaW5nRmxhZ3MoKTogRGF0ZVBhcnNpbmdGbGFncyB7XG4gIC8vIFdlIG5lZWQgdG8gZGVlcCBjbG9uZSB0aGlzIG9iamVjdC5cbiAgcmV0dXJuIHtcbiAgICBlbXB0eTogZmFsc2UsXG4gICAgdW51c2VkVG9rZW5zOiBbXSxcbiAgICB1bnVzZWRJbnB1dDogW10sXG4gICAgb3ZlcmZsb3c6IC0yLFxuICAgIGNoYXJzTGVmdE92ZXI6IDAsXG4gICAgbnVsbElucHV0OiBmYWxzZSxcbiAgICBpbnZhbGlkTW9udGg6IG51bGwsXG4gICAgaW52YWxpZEZvcm1hdDogZmFsc2UsXG4gICAgdXNlckludmFsaWRhdGVkOiBmYWxzZSxcbiAgICBpc286IGZhbHNlLFxuICAgIHBhcnNlZERhdGVQYXJ0czogW10sXG4gICAgbWVyaWRpZW06IG51bGwsXG4gICAgcmZjMjgyMjogZmFsc2UsXG4gICAgd2Vla2RheU1pc21hdGNoOiBmYWxzZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0ZsYWdzIHtcbiAgaWYgKGNvbmZpZy5fcGYgPT0gbnVsbCkge1xuICAgIGNvbmZpZy5fcGYgPSBkZWZhdWx0UGFyc2luZ0ZsYWdzKCk7XG4gIH1cblxuICByZXR1cm4gY29uZmlnLl9wZjtcbn1cbiJdfQ==","import { addFormatToken } from '../format/format';\nimport { getFullYear } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { YEAR } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\n// FORMATTING\nfunction getYear(date, opts) {\n if (opts.locale.getFullYear) {\n return opts.locale.getFullYear(date, opts.isUTC).toString();\n }\n return getFullYear(date, opts.isUTC).toString();\n}\nexport function initYear() {\n addFormatToken('Y', null, null, function (date, opts) {\n const y = getFullYear(date, opts.isUTC);\n return y <= 9999 ? y.toString(10) : `+${y}`;\n });\n addFormatToken(null, ['YY', 2, false], null, function (date, opts) {\n return (getFullYear(date, opts.isUTC) % 100).toString(10);\n });\n addFormatToken(null, ['YYYY', 4, false], null, getYear);\n addFormatToken(null, ['YYYYY', 5, false], null, getYear);\n addFormatToken(null, ['YYYYYY', 6, true], null, getYear);\n // ALIASES\n addUnitAlias('year', 'y');\n // PRIORITIES\n addUnitPriority('year', 1);\n // PARSING\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 addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array, config) {\n array[YEAR] = input.length === 2 ? parseTwoDigitYear(input) : toInt(input);\n return config;\n });\n addParseToken('YY', function (input, array, config) {\n array[YEAR] = parseTwoDigitYear(input);\n return config;\n });\n addParseToken('Y', function (input, array, config) {\n array[YEAR] = parseInt(input, 10);\n return config;\n });\n}\nexport function parseTwoDigitYear(input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n}\nexport function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\nexport function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL3VuaXRzL3llYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHekMsYUFBYTtBQUViLFNBQVMsT0FBTyxDQUFDLElBQVUsRUFBRSxJQUEwQjtJQUNyRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUTtJQUN0QixjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQzVCLFVBQVUsSUFBVSxFQUFFLElBQTBCO1FBQ2hE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QUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkRm9ybWF0VG9rZW4gfSBmcm9tICcuLi9mb3JtYXQvZm9ybWF0JztcbmltcG9ydCB7IGdldEZ1bGxZZWFyIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IGFkZFJlZ2V4VG9rZW4sIG1hdGNoMXRvMiwgbWF0Y2gxdG80LCBtYXRjaDF0bzYsIG1hdGNoMiwgbWF0Y2g0LCBtYXRjaDYsIG1hdGNoU2lnbmVkIH0gZnJvbSAnLi4vcGFyc2UvcmVnZXgnO1xuaW1wb3J0IHsgYWRkUGFyc2VUb2tlbiB9IGZyb20gJy4uL3BhcnNlL3Rva2VuJztcbmltcG9ydCB7IFlFQVIgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB0b0ludCB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IGFkZFVuaXRQcmlvcml0eSB9IGZyb20gJy4vcHJpb3JpdGllcyc7XG5pbXBvcnQgeyBhZGRVbml0QWxpYXMgfSBmcm9tICcuL2FsaWFzZXMnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlck9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIEZPUk1BVFRJTkdcblxuZnVuY3Rpb24gZ2V0WWVhcihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gIGlmIChvcHRzLmxvY2FsZS5nZXRGdWxsWWVhcikge1xuICAgIHJldHVybiBvcHRzLmxvY2FsZS5nZXRGdWxsWWVhcihkYXRlLCBvcHRzLmlzVVRDKS50b1N0cmluZygpO1xuICB9XG4gIHJldHVybiBnZXRGdWxsWWVhcihkYXRlLCBvcHRzLmlzVVRDKS50b1N0cmluZygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFllYXIoKSB7XG4gIGFkZEZvcm1hdFRva2VuKCdZJywgbnVsbCwgbnVsbCxcbiAgICBmdW5jdGlvbiAoZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHkgPSBnZXRGdWxsWWVhcihkYXRlLCBvcHRzLmlzVVRDKTtcblxuICAgIHJldHVybiB5IDw9IDk5OTkgPyB5LnRvU3RyaW5nKDEwKSA6IGArJHt5fWA7XG4gIH0pO1xuXG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnWVknLCAyLCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24gKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKGdldEZ1bGxZZWFyKGRhdGUsIG9wdHMuaXNVVEMpICUgMTAwKS50b1N0cmluZygxMCk7XG4gIH0pO1xuXG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnWVlZWScsIDQsIGZhbHNlXSwgbnVsbCwgZ2V0WWVhcik7XG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnWVlZWVknLCA1LCBmYWxzZV0sIG51bGwsIGdldFllYXIpO1xuICBhZGRGb3JtYXRUb2tlbihudWxsLCBbJ1lZWVlZWScsIDYsIHRydWVdLCBudWxsLCBnZXRZZWFyKTtcblxuICAvLyBBTElBU0VTXG5cbiAgYWRkVW5pdEFsaWFzKCd5ZWFyJywgJ3knKTtcblxuICAvLyBQUklPUklUSUVTXG5cbiAgYWRkVW5pdFByaW9yaXR5KCd5ZWFyJywgMSk7XG5cbiAgLy8gUEFSU0lOR1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ1knLCBtYXRjaFNpZ25lZCk7XG4gIGFkZFJlZ2V4VG9rZW4oJ1lZJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICBhZGRSZWdleFRva2VuKCdZWVlZJywgbWF0Y2gxdG80LCBtYXRjaDQpO1xuICBhZGRSZWdleFRva2VuKCdZWVlZWScsIG1hdGNoMXRvNiwgbWF0Y2g2KTtcbiAgYWRkUmVnZXhUb2tlbignWVlZWVlZJywgbWF0Y2gxdG82LCBtYXRjaDYpO1xuXG4gIGFkZFBhcnNlVG9rZW4oWydZWVlZWScsICdZWVlZWVknXSwgWUVBUik7XG4gIGFkZFBhcnNlVG9rZW4oJ1lZWVknLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHtcbiAgICBhcnJheVtZRUFSXSA9IGlucHV0Lmxlbmd0aCA9PT0gMiA/IHBhcnNlVHdvRGlnaXRZZWFyKGlucHV0KSA6IHRvSW50KGlucHV0KTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH0pO1xuICBhZGRQYXJzZVRva2VuKCdZWScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykge1xuICAgIGFycmF5W1lFQVJdID0gcGFyc2VUd29EaWdpdFllYXIoaW5wdXQpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSk7XG4gIGFkZFBhcnNlVG9rZW4oJ1knLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHtcbiAgICBhcnJheVtZRUFSXSA9IHBhcnNlSW50KGlucHV0LCAxMCk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVHdvRGlnaXRZZWFyKGlucHV0OiBzdHJpbmcpOiBudW1iZXIge1xuICByZXR1cm4gdG9JbnQoaW5wdXQpICsgKHRvSW50KGlucHV0KSA+IDY4ID8gMTkwMCA6IDIwMDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF5c0luWWVhcih5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGVhcFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiAoeWVhciAlIDQgPT09IDAgJiYgeWVhciAlIDEwMCAhPT0gMCkgfHwgeWVhciAlIDQwMCA9PT0gMDtcbn1cbiJdfQ==","import { addFormatToken } from '../format/format';\nimport { isLeapYear } from './year';\nimport { mod } from '../utils';\nimport { getMonth } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { MONTH } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nimport { getParsingFlags } from '../create/parsing-flags';\n// todo: this is duplicate, source in date-getters.ts\nexport function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n const modMonth = mod(month, 12);\n const _year = year + (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(_year) ? 29 : 28\n : (31 - modMonth % 7 % 2);\n}\nexport function initMonth() {\n // FORMATTING\n addFormatToken('M', ['MM', 2, false], 'Mo', function (date, opts) {\n return (getMonth(date, opts.isUTC) + 1).toString(10);\n });\n addFormatToken('MMM', null, null, function (date, opts) {\n return opts.locale.monthsShort(date, opts.format, opts.isUTC);\n });\n addFormatToken('MMMM', null, null, function (date, opts) {\n return opts.locale.months(date, opts.format, opts.isUTC);\n });\n // ALIASES\n addUnitAlias('month', 'M');\n // PRIORITY\n addUnitPriority('month', 8);\n // PARSING\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 addParseToken(['M', 'MM'], function (input, array, config) {\n array[MONTH] = toInt(input) - 1;\n return config;\n });\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n const 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 }\n else {\n getParsingFlags(config).invalidMonth = !!input;\n }\n return config;\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91bml0cy9tb250aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUkxRCxxREFBcUQ7QUFDckQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZLEVBQUUsS0FBYTtJQUNyRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFN0MsT0FBTyxRQUFR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QUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkRm9ybWF0VG9rZW4gfSBmcm9tICcuLi9mb3JtYXQvZm9ybWF0JztcbmltcG9ydCB7IGlzTGVhcFllYXIgfSBmcm9tICcuL3llYXInO1xuaW1wb3J0IHsgbW9kIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TW9udGggfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuaW1wb3J0IHsgYWRkUmVnZXhUb2tlbiwgbWF0Y2gxdG8yLCBtYXRjaDIgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBhZGRQYXJzZVRva2VuIH0gZnJvbSAnLi4vcGFyc2UvdG9rZW4nO1xuaW1wb3J0IHsgTU9OVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB0b0ludCB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IGFkZFVuaXRQcmlvcml0eSB9IGZyb20gJy4vcHJpb3JpdGllcyc7XG5pbXBvcnQgeyBhZGRVbml0QWxpYXMgfSBmcm9tICcuL2FsaWFzZXMnO1xuaW1wb3J0IHsgZ2V0UGFyc2luZ0ZsYWdzIH0gZnJvbSAnLi4vY3JlYXRlL3BhcnNpbmctZmxhZ3MnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuLi9jcmVhdGUvcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBEYXRlQXJyYXksIERhdGVGb3JtYXR0ZXJPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyB0b2RvOiB0aGlzIGlzIGR1cGxpY2F0ZSwgc291cmNlIGluIGRhdGUtZ2V0dGVycy50c1xuZXhwb3J0IGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IG51bWJlciB7XG4gIGlmIChpc05hTih5ZWFyKSB8fCBpc05hTihtb250aCkpIHtcbiAgICByZXR1cm4gTmFOO1xuICB9XG4gIGNvbnN0IG1vZE1vbnRoID0gbW9kKG1vbnRoLCAxMik7XG4gIGNvbnN0IF95ZWFyID0geWVhciArIChtb250aCAtIG1vZE1vbnRoKSAvIDEyO1xuXG4gIHJldHVybiBtb2RNb250aCA9PT0gMVxuICAgID8gaXNMZWFwWWVhcihfeWVhcikgPyAyOSA6IDI4XG4gICAgOiAoMzEgLSBtb2RNb250aCAlIDcgJSAyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRNb250aCgpIHtcbi8vIEZPUk1BVFRJTkdcblxuICBhZGRGb3JtYXRUb2tlbignTScsIFsnTU0nLCAyLCBmYWxzZV0sICdNbycsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIChnZXRNb250aChkYXRlLCBvcHRzLmlzVVRDKSArIDEpLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkRm9ybWF0VG9rZW4oJ01NTScsIG51bGwsIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIG9wdHMubG9jYWxlLm1vbnRoc1Nob3J0KGRhdGUsIG9wdHMuZm9ybWF0LCBvcHRzLmlzVVRDKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkRm9ybWF0VG9rZW4oJ01NTU0nLCBudWxsLCBudWxsLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBvcHRzLmxvY2FsZS5tb250aHMoZGF0ZSwgb3B0cy5mb3JtYXQsIG9wdHMuaXNVVEMpO1xuICAgIH1cbiAgKTtcblxuXG4vLyBBTElBU0VTXG5cbiAgYWRkVW5pdEFsaWFzKCdtb250aCcsICdNJyk7XG5cbi8vIFBSSU9SSVRZXG5cbiAgYWRkVW5pdFByaW9yaXR5KCdtb250aCcsIDgpO1xuXG4vLyBQQVJTSU5HXG5cbiAgYWRkUmVnZXhUb2tlbignTScsIG1hdGNoMXRvMik7XG4gIGFkZFJlZ2V4VG9rZW4oJ01NJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICBhZGRSZWdleFRva2VuKCdNTU0nLCBmdW5jdGlvbihpc1N0cmljdCwgbG9jYWxlKSB7XG4gICAgcmV0dXJuIGxvY2FsZS5tb250aHNTaG9ydFJlZ2V4KGlzU3RyaWN0KTtcbiAgfSk7XG4gIGFkZFJlZ2V4VG9rZW4oJ01NTU0nLCBmdW5jdGlvbihpc1N0cmljdCwgbG9jYWxlKSB7XG4gICAgcmV0dXJuIGxvY2FsZS5tb250aHNSZWdleChpc1N0cmljdCk7XG4gIH0pO1xuXG4gIGFkZFBhcnNlVG9rZW4oWydNJywgJ01NJ10sIGZ1bmN0aW9uKGlucHV0OiBzdHJpbmcsIGFycmF5OiBEYXRlQXJyYXksIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gICAgYXJyYXlbTU9OVEhdID0gdG9JbnQoaW5wdXQpIC0gMTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH0pO1xuXG4gIGFkZFBhcnNlVG9rZW4oXG4gICAgWydNTU0nLCAnTU1NTSddLFxuICAgIGZ1bmN0aW9uKGlucHV0OiBzdHJpbmcsIGFycmF5OiBEYXRlQXJyYXksIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcsIHRva2VuOiBzdHJpbmcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gICAgICBjb25zdCBtb250aCA9IGNvbmZpZy5fbG9jYWxlLm1vbnRoc1BhcnNlKGlucHV0LCB0b2tlbiwgY29uZmlnLl9zdHJpY3QpO1xuICAgICAgLy8gaWYgd2UgZGlkbid0IGZpbmQgYSBtb250aCBuYW1lLCBtYXJrIHRoZSBkYXRlIGFzIGludmFsaWQuXG4gICAgICBpZiAobW9udGggIT0gbnVsbCkge1xuICAgICAgICBhcnJheVtNT05USF0gPSBtb250aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmludmFsaWRNb250aCA9ICEhaW5wdXQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb25maWc7XG4gICAgfVxuICApO1xufVxuIl19","import { daysInMonth } from '../units/month';\nimport { isNumber } from './type-checks';\nimport { getDate, getFullYear, getMonth } from './date-getters';\nimport { isLeapYear } from '../units/year';\nimport { createDate } from '../create/date-from-array';\nconst defaultTimeUnit = {\n year: 0,\n month: 0,\n day: 0,\n hour: 0,\n minute: 0,\n seconds: 0\n};\nexport function shiftDate(date, unit) {\n const _unit = Object.assign({}, defaultTimeUnit, unit);\n const year = date.getFullYear() + (_unit.year || 0);\n const month = date.getMonth() + (_unit.month || 0);\n let day = date.getDate() + (_unit.day || 0);\n if (_unit.month && !_unit.day) {\n day = Math.min(day, daysInMonth(year, month));\n }\n return createDate(year, month, day, date.getHours() + (_unit.hour || 0), date.getMinutes() + (_unit.minute || 0), date.getSeconds() + (_unit.seconds || 0));\n}\nexport function setFullDate(date, unit) {\n return createDate(getNum(date.getFullYear(), unit.year), getNum(date.getMonth(), unit.month), 1, // day, to avoid issue with wrong months selection at the end of current month (#5371)\n getNum(date.getHours(), unit.hour), getNum(date.getMinutes(), unit.minute), getNum(date.getSeconds(), unit.seconds), getNum(date.getMilliseconds(), unit.milliseconds));\n}\nfunction getNum(def, num) {\n return isNumber(num) ? num : def;\n}\nexport function setFullYear(date, value, isUTC) {\n const _month = getMonth(date, isUTC);\n const _date = getDate(date, isUTC);\n const _year = getFullYear(date, isUTC);\n if (isLeapYear(_year) && _month === 1 && _date === 29) {\n const _daysInMonth = daysInMonth(value, _month);\n isUTC ? date.setUTCFullYear(value, _month, _daysInMonth) : date.setFullYear(value, _month, _daysInMonth);\n }\n isUTC ? date.setUTCFullYear(value) : date.setFullYear(value);\n return date;\n}\nexport function setMonth(date, value, isUTC) {\n const dayOfMonth = Math.min(getDate(date), daysInMonth(getFullYear(date), value));\n isUTC ? date.setUTCMonth(value, dayOfMonth) : date.setMonth(value, dayOfMonth);\n return date;\n}\nexport function setDay(date, value, isUTC) {\n isUTC ? date.setUTCDate(value) : date.setDate(value);\n return date;\n}\nexport function setHours(date, value, isUTC) {\n isUTC ? date.setUTCHours(value) : date.setHours(value);\n return date;\n}\nexport function setMinutes(date, value, isUTC) {\n isUTC ? date.setUTCMinutes(value) : date.setMinutes(value);\n return date;\n}\nexport function setSeconds(date, value, isUTC) {\n isUTC ? date.setUTCSeconds(value) : date.setSeconds(value);\n return date;\n}\nexport function setMilliseconds(date, value, isUTC) {\n isUTC ? date.setUTCMilliseconds(value) : date.setMilliseconds(value);\n return date;\n}\nexport function setDate(date, value, isUTC) {\n isUTC ? date.setUTCDate(value) : date.setDate(value);\n return date;\n}\nexport function setTime(date, value) {\n date.setTime(value);\n return date;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zZXR0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdXRpbHMvZGF0ZS1zZXR0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXZELE1BQU0sZUFBZSxHQUFhO0lBQ2hDLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQztDQUNYLENBQUM7QUFFRixNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVUsRUFBRSxJQUFjO0lBQ2xELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1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M0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFVLEVBQUUsS0FBYSxFQUFFLEtBQWU7SUFDeEUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckUsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFVLEVBQUUsS0FBYSxFQUFFLEtBQWU7SUFDaEUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBVSxFQUFFLEtBQWE7SUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaW1lVW5pdCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGRheXNJbk1vbnRoIH0gZnJvbSAnLi4vdW5pdHMvbW9udGgnO1xuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IGdldERhdGUsIGdldEZ1bGxZZWFyLCBnZXRNb250aCB9IGZyb20gJy4vZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IGlzTGVhcFllYXIgfSBmcm9tICcuLi91bml0cy95ZWFyJztcbmltcG9ydCB7IGNyZWF0ZURhdGUgfSBmcm9tICcuLi9jcmVhdGUvZGF0ZS1mcm9tLWFycmF5JztcblxuY29uc3QgZGVmYXVsdFRpbWVVbml0OiBUaW1lVW5pdCA9IHtcbiAgeWVhcjogMCxcbiAgbW9udGg6IDAsXG4gIGRheTogMCxcbiAgaG91cjogMCxcbiAgbWludXRlOiAwLFxuICBzZWNvbmRzOiAwXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc2hpZnREYXRlKGRhdGU6IERhdGUsIHVuaXQ6IFRpbWVVbml0KTogRGF0ZSB7XG4gIGNvbnN0IF91bml0ID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFRpbWVVbml0LCB1bml0KTtcbiAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKSArIChfdW5pdC55ZWFyIHx8IDApO1xuICBjb25zdCBtb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIChfdW5pdC5tb250aCB8fCAwKTtcbiAgbGV0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpICsgKF91bml0LmRheSB8fCAwKTtcbiAgaWYgKF91bml0Lm1vbnRoICYmICFfdW5pdC5kYXkpIHtcbiAgICBkYXkgPSBNYXRoLm1pbihkYXksIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSk7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlRGF0ZShcbiAgICB5ZWFyLFxuICAgIG1vbnRoLFxuICAgIGRheSxcbiAgICBkYXRlLmdldEhvdXJzKCkgKyAoX3VuaXQuaG91ciB8fCAwKSxcbiAgICBkYXRlLmdldE1pbnV0ZXMoKSArIChfdW5pdC5taW51dGUgfHwgMCksXG4gICAgZGF0ZS5nZXRTZWNvbmRzKCkgKyAoX3VuaXQuc2Vjb25kcyB8fCAwKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RnVsbERhdGUoZGF0ZTogRGF0ZSwgdW5pdDogVGltZVVuaXQpOiBEYXRlIHtcbiAgcmV0dXJuIGNyZWF0ZURhdGUoXG4gICAgZ2V0TnVtKGRhdGUuZ2V0RnVsbFllYXIoKSwgdW5pdC55ZWFyKSxcbiAgICBnZXROdW0oZGF0ZS5nZXRNb250aCgpLCB1bml0Lm1vbnRoKSxcbiAgICAxLCAvLyBkYXksIHRvIGF2b2lkIGlzc3VlIHdpdGggd3JvbmcgbW9udGhzIHNlbGVjdGlvbiBhdCB0aGUgZW5kIG9mIGN1cnJlbnQgbW9udGggKCM1MzcxKVxuICAgIGdldE51bShkYXRlLmdldEhvdXJzKCksIHVuaXQuaG91ciksXG4gICAgZ2V0TnVtKGRhdGUuZ2V0TWludXRlcygpLCB1bml0Lm1pbnV0ZSksXG4gICAgZ2V0TnVtKGRhdGUuZ2V0U2Vjb25kcygpLCB1bml0LnNlY29uZHMpLFxuICAgIGdldE51bShkYXRlLmdldE1pbGxpc2Vjb25kcygpLCB1bml0Lm1pbGxpc2Vjb25kcylcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0TnVtKGRlZjogbnVtYmVyLCBudW0/OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gaXNOdW1iZXIobnVtKSA/IG51bSA6IGRlZjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEZ1bGxZZWFyKGRhdGU6IERhdGUsIHZhbHVlOiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IERhdGUge1xuICBjb25zdCBfbW9udGggPSBnZXRNb250aChkYXRlLCBpc1VUQyk7XG4gIGNvbnN0IF9kYXRlID0gZ2V0RGF0ZShkYXRlLCBpc1VUQyk7XG4gIGNvbnN0IF95ZWFyID0gZ2V0RnVsbFllYXIoZGF0ZSwgaXNVVEMpO1xuICBpZiAoaXNMZWFwWWVhcihfeWVhcikgJiYgX21vbnRoID09PSAxICYmIF9kYXRlID09PSAyOSkge1xuICAgIGNvbnN0IF9kYXlzSW5Nb250aCA9IGRheXNJbk1vbnRoKHZhbHVlLCBfbW9udGgpO1xuICAgIGlzVVRDID8gZGF0ZS5zZXRVVENGdWxsWWVhcih2YWx1ZSwgX21vbnRoLCBfZGF5c0luTW9udGgpIDogZGF0ZS5zZXRGdWxsWWVhcih2YWx1ZSwgX21vbnRoLCBfZGF5c0luTW9udGgpO1xuICB9XG5cbiAgaXNVVEMgPyBkYXRlLnNldFVUQ0Z1bGxZZWFyKHZhbHVlKSA6IGRhdGUuc2V0RnVsbFllYXIodmFsdWUpO1xuXG4gIHJldHVybiBkYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0TW9udGgoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGNvbnN0IGRheU9mTW9udGggPSBNYXRoLm1pbihnZXREYXRlKGRhdGUpLCBkYXlzSW5Nb250aChnZXRGdWxsWWVhcihkYXRlKSwgdmFsdWUpKTtcbiAgaXNVVEMgPyBkYXRlLnNldFVUQ01vbnRoKHZhbHVlLCBkYXlPZk1vbnRoKSA6IGRhdGUuc2V0TW9udGgodmFsdWUsIGRheU9mTW9udGgpO1xuXG4gIHJldHVybiBkYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RGF5KGRhdGU6IERhdGUsIHZhbHVlOiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IERhdGUge1xuICBpc1VUQyA/IGRhdGUuc2V0VVRDRGF0ZSh2YWx1ZSkgOiBkYXRlLnNldERhdGUodmFsdWUpO1xuXG4gIHJldHVybiBkYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0SG91cnMoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGlzVVRDID8gZGF0ZS5zZXRVVENIb3Vycyh2YWx1ZSkgOiBkYXRlLnNldEhvdXJzKHZhbHVlKTtcblxuICByZXR1cm4gZGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE1pbnV0ZXMoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGlzVVRDID8gZGF0ZS5zZXRVVENNaW51dGVzKHZhbHVlKSA6IGRhdGUuc2V0TWludXRlcyh2YWx1ZSk7XG5cbiAgcmV0dXJuIGRhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZWNvbmRzKGRhdGU6IERhdGUsIHZhbHVlOiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IERhdGUge1xuICBpc1VUQyA/IGRhdGUuc2V0VVRDU2Vjb25kcyh2YWx1ZSkgOiBkYXRlLnNldFNlY29uZHModmFsdWUpO1xuXG4gIHJldHVybiBkYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0TWlsbGlzZWNvbmRzKGRhdGU6IERhdGUsIHZhbHVlOiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IERhdGUge1xuICBpc1VUQyA/IGRhdGUuc2V0VVRDTWlsbGlzZWNvbmRzKHZhbHVlKSA6IGRhdGUuc2V0TWlsbGlzZWNvbmRzKHZhbHVlKTtcblxuICByZXR1cm4gZGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldERhdGUoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGlzVVRDID8gZGF0ZS5zZXRVVENEYXRlKHZhbHVlKSA6IGRhdGUuc2V0RGF0ZSh2YWx1ZSk7XG5cbiAgcmV0dXJuIGRhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRUaW1lKGRhdGU6IERhdGUsIHZhbHVlOiBudW1iZXIpOiBEYXRlIHtcbiAgZGF0ZS5zZXRUaW1lKHZhbHVlKTtcblxuICByZXR1cm4gZGF0ZTtcbn1cbiJdfQ==","// fastest way to clone date\n// https://jsperf.com/clone-date-object2\nexport function cloneDate(date) {\n return new Date(date.getTime());\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9jcmVhdGUvY2xvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLHdDQUF3QztBQUN4QyxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVU7SUFDbEMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZmFzdGVzdCB3YXkgdG8gY2xvbmUgZGF0ZVxuLy8gaHR0cHM6Ly9qc3BlcmYuY29tL2Nsb25lLWRhdGUtb2JqZWN0MlxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lRGF0ZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7XG59XG4iXX0=","import { setDate, setHours, setMilliseconds, setMinutes, setMonth, setSeconds } from './date-setters';\nimport { cloneDate } from '../create/clone';\nimport { setISODayOfWeek, setLocaleDayOfWeek } from '../units/day-of-week';\nimport { getMonth } from './date-getters';\nimport { add, subtract } from '../moment/add-subtract';\nexport function startOf(date, unit, isUTC) {\n const _date = cloneDate(date);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (unit) {\n case 'year':\n setMonth(_date, 0, isUTC);\n /* falls through */\n case 'quarter':\n case 'month':\n setDate(_date, 1, isUTC);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n setHours(_date, 0, isUTC);\n /* falls through */\n case 'hours':\n setMinutes(_date, 0, isUTC);\n /* falls through */\n case 'minutes':\n setSeconds(_date, 0, isUTC);\n /* falls through */\n case 'seconds':\n setMilliseconds(_date, 0, isUTC);\n }\n // weeks are a special case\n if (unit === 'week') {\n setLocaleDayOfWeek(_date, 0, { isUTC });\n }\n if (unit === 'isoWeek') {\n setISODayOfWeek(_date, 1);\n }\n // quarters are also special\n if (unit === 'quarter') {\n setMonth(_date, Math.floor(getMonth(_date, isUTC) / 3) * 3, isUTC);\n }\n return _date;\n}\nexport function endOf(date, unit, isUTC) {\n let _unit = unit;\n // 'date' is an alias for 'day', so it should be considered as such.\n if (_unit === 'date') {\n _unit = 'day';\n }\n const start = startOf(date, _unit, isUTC);\n const _step = add(start, 1, _unit === 'isoWeek' ? 'week' : _unit, isUTC);\n const res = subtract(_step, 1, 'milliseconds', isUTC);\n return res;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZW5kLW9mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdXRpbHMvc3RhcnQtZW5kLW9mLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxPQUFPLEVBQWUsUUFBUSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFFbEYsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBVSxFQUFFLElBQWdCLEVBQUUsS0FBZTtJQUNuRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsMERBQTBEO0lBQzFELHdDQUF3QztJQUN4QyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxNQUFNO1lBQ1QsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsbUJBQW1CO1FBQ25CLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxPQUFPO1lBQ1YsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsbUJBQW1CO1FBQ25CLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTTtZQUNULFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLG1CQUFtQjtRQUNuQixLQUFLLE9BQU87WUFDVixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QixtQkFBbUI7UUFDbkIsS0FBSyxTQUFTO1lBQ1osVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUIsbUJBQW1CO1FBQ25CLEtBQUssU0FBUztZQUNaLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDcEIsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3ZCLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN2QixRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBVSxFQUFFLElBQWdCLEVBQUUsS0FBZTtJQUNqRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDakIsb0VBQW9FO0lBQ3BFLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV0RCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaW1lVW5pdCwgVW5pdE9mVGltZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIHNldERhdGUsIHNldEZ1bGxEYXRlLCBzZXRIb3Vycywgc2V0TWlsbGlzZWNvbmRzLCBzZXRNaW51dGVzLCBzZXRNb250aCwgc2V0U2Vjb25kcyxcbiAgc2hpZnREYXRlXG59IGZyb20gJy4vZGF0ZS1zZXR0ZXJzJztcbmltcG9ydCB7IGNsb25lRGF0ZSB9IGZyb20gJy4uL2NyZWF0ZS9jbG9uZSc7XG5pbXBvcnQgeyBzZXRJU09EYXlPZldlZWssIHNldExvY2FsZURheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcbmltcG9ydCB7IGdldE1vbnRoIH0gZnJvbSAnLi9kYXRlLWdldHRlcnMnO1xuaW1wb3J0IHsgYWRkLCBzdWJ0cmFjdCB9IGZyb20gJy4uL21vbWVudC9hZGQtc3VidHJhY3QnO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRPZihkYXRlOiBEYXRlLCB1bml0OiBVbml0T2ZUaW1lLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgY29uc3QgX2RhdGUgPSBjbG9uZURhdGUoZGF0ZSk7XG4gIC8vIHRoZSBmb2xsb3dpbmcgc3dpdGNoIGludGVudGlvbmFsbHkgb21pdHMgYnJlYWsga2V5d29yZHNcbiAgLy8gdG8gdXRpbGl6ZSBmYWxsaW5nIHRocm91Z2ggdGhlIGNhc2VzLlxuICBzd2l0Y2ggKHVuaXQpIHtcbiAgICBjYXNlICd5ZWFyJzpcbiAgICAgIHNldE1vbnRoKF9kYXRlLCAwLCBpc1VUQyk7XG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgIHNldERhdGUoX2RhdGUsIDEsIGlzVVRDKTtcbiAgICAvKiBmYWxscyB0aHJvdWdoICovXG4gICAgY2FzZSAnd2Vlayc6XG4gICAgY2FzZSAnaXNvV2Vlayc6XG4gICAgY2FzZSAnZGF5JzpcbiAgICBjYXNlICdkYXRlJzpcbiAgICAgIHNldEhvdXJzKF9kYXRlLCAwLCBpc1VUQyk7XG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgIGNhc2UgJ2hvdXJzJzpcbiAgICAgIHNldE1pbnV0ZXMoX2RhdGUsIDAsIGlzVVRDKTtcbiAgICAvKiBmYWxscyB0aHJvdWdoICovXG4gICAgY2FzZSAnbWludXRlcyc6XG4gICAgICBzZXRTZWNvbmRzKF9kYXRlLCAwLCBpc1VUQyk7XG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgIGNhc2UgJ3NlY29uZHMnOlxuICAgICAgc2V0TWlsbGlzZWNvbmRzKF9kYXRlLCAwLCBpc1VUQyk7XG4gIH1cblxuICAvLyB3ZWVrcyBhcmUgYSBzcGVjaWFsIGNhc2VcbiAgaWYgKHVuaXQgPT09ICd3ZWVrJykge1xuICAgIHNldExvY2FsZURheU9mV2VlayhfZGF0ZSwgMCwge2lzVVRDfSk7XG4gIH1cbiAgaWYgKHVuaXQgPT09ICdpc29XZWVrJykge1xuICAgIHNldElTT0RheU9mV2VlayhfZGF0ZSwgMSk7XG4gIH1cblxuICAvLyBxdWFydGVycyBhcmUgYWxzbyBzcGVjaWFsXG4gIGlmICh1bml0ID09PSAncXVhcnRlcicpIHtcbiAgICBzZXRNb250aChfZGF0ZSwgTWF0aC5mbG9vcihnZXRNb250aChfZGF0ZSwgaXNVVEMpIC8gMykgKiAzLCBpc1VUQyk7XG4gIH1cblxuICByZXR1cm4gX2RhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmRPZihkYXRlOiBEYXRlLCB1bml0OiBVbml0T2ZUaW1lLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgbGV0IF91bml0ID0gdW5pdDtcbiAgLy8gJ2RhdGUnIGlzIGFuIGFsaWFzIGZvciAnZGF5Jywgc28gaXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgc3VjaC5cbiAgaWYgKF91bml0ID09PSAnZGF0ZScpIHtcbiAgICBfdW5pdCA9ICdkYXknO1xuICB9XG5cbiAgY29uc3Qgc3RhcnQgPSBzdGFydE9mKGRhdGUsIF91bml0LCBpc1VUQyk7XG4gIGNvbnN0IF9zdGVwID0gYWRkKHN0YXJ0LCAxLCBfdW5pdCA9PT0gJ2lzb1dlZWsnID8gJ3dlZWsnIDogX3VuaXQsIGlzVVRDKTtcbiAgY29uc3QgcmVzID0gc3VidHJhY3QoX3N0ZXAsIDEsICdtaWxsaXNlY29uZHMnLCBpc1VUQyk7XG5cbiAgcmV0dXJuIHJlcztcbn1cbiJdfQ==","import { addFormatToken } from '../format/format';\nimport { startOf } from '../utils/start-end-of';\nimport { addRegexToken, match1to3, match3 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nimport { toInt } from '../utils/type-checks';\nimport { add } from '../moment/add-subtract';\nexport function initDayOfYear() {\n // FORMATTING\n addFormatToken('DDD', ['DDDD', 3, false], 'DDDo', function (date) {\n return getDayOfYear(date)\n .toString(10);\n });\n // ALIASES\n addUnitAlias('dayOfYear', 'DDD');\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n return config;\n });\n}\nexport function getDayOfYear(date, isUTC) {\n const date1 = +startOf(date, 'day', isUTC);\n const date2 = +startOf(date, 'year', isUTC);\n const someDate = date1 - date2;\n const oneDay = 1000 * 60 * 60 * 24;\n return Math.round(someDate / oneDay) + 1;\n}\nexport function setDayOfYear(date, input) {\n const dayOfYear = getDayOfYear(date);\n return add(date, (input - dayOfYear), 'day');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LW9mLXllYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91bml0cy9kYXktb2YteWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc3QyxNQUFNLFVBQVUsYUFBYTtJQUM3QixhQUFhO0lBRVgsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUM5QyxVQUFTLElBQVU7UUFDakIsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO2FBQ3RCLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQ0YsQ0FBQztJQUdKLFVBQVU7SUFFUixZQUFZLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRW5DLFdBQVc7SUFFVCxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDaEMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QixhQUFhLENBQ1gsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQ2YsVUFBUyxLQUFhLEVBQUUsS0FBZ0IsRUFBRSxNQUF5QjtRQUNqRSxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVUsRUFBRSxLQUFlO0lBQ3RELE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxNQUFNLFFBQVEsR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUVuQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFVLEVBQUUsS0FBYTtJQUNwRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckMsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRGb3JtYXRUb2tlbiB9IGZyb20gJy4uL2Zvcm1hdC9mb3JtYXQnO1xuaW1wb3J0IHsgc3RhcnRPZiB9IGZyb20gJy4uL3V0aWxzL3N0YXJ0LWVuZC1vZic7XG5pbXBvcnQgeyBhZGRSZWdleFRva2VuLCBtYXRjaDF0bzMsIG1hdGNoMyB9IGZyb20gJy4uL3BhcnNlL3JlZ2V4JztcbmltcG9ydCB7IGFkZFBhcnNlVG9rZW4gfSBmcm9tICcuLi9wYXJzZS90b2tlbic7XG5pbXBvcnQgeyBhZGRVbml0UHJpb3JpdHkgfSBmcm9tICcuL3ByaW9yaXRpZXMnO1xuaW1wb3J0IHsgYWRkVW5pdEFsaWFzIH0gZnJvbSAnLi9hbGlhc2VzJztcbmltcG9ydCB7IERhdGVBcnJheSwgRGF0ZUZvcm1hdHRlck9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4uL2NyZWF0ZS9wYXJzaW5nLnR5cGVzJztcbmltcG9ydCB7IHRvSW50IH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgYWRkIH0gZnJvbSAnLi4vbW9tZW50L2FkZC1zdWJ0cmFjdCc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXREYXlPZlllYXIoKSB7XG4vLyBGT1JNQVRUSU5HXG5cbiAgYWRkRm9ybWF0VG9rZW4oJ0RERCcsIFsnRERERCcsIDMsIGZhbHNlXSwgJ0RERG8nLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGdldERheU9mWWVhcihkYXRlKVxuICAgICAgICAudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcblxuXG4vLyBBTElBU0VTXG5cbiAgYWRkVW5pdEFsaWFzKCdkYXlPZlllYXInLCAnREREJyk7XG5cbi8vIFBSSU9SSVRZXG5cbiAgYWRkVW5pdFByaW9yaXR5KCdkYXlPZlllYXInLCA0KTtcblxuICBhZGRSZWdleFRva2VuKCdEREQnLCBtYXRjaDF0bzMpO1xuICBhZGRSZWdleFRva2VuKCdEREREJywgbWF0Y2gzKTtcbiAgYWRkUGFyc2VUb2tlbihcbiAgICBbJ0RERCcsICdEREREJ10sXG4gICAgZnVuY3Rpb24oaW5wdXQ6IHN0cmluZywgYXJyYXk6IERhdGVBcnJheSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICAgIGNvbmZpZy5fZGF5T2ZZZWFyID0gdG9JbnQoaW5wdXQpO1xuXG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERheU9mWWVhcihkYXRlOiBEYXRlLCBpc1VUQz86IGJvb2xlYW4pOiBudW1iZXIge1xuICBjb25zdCBkYXRlMSA9ICtzdGFydE9mKGRhdGUsICdkYXknLCBpc1VUQyk7XG4gIGNvbnN0IGRhdGUyID0gK3N0YXJ0T2YoZGF0ZSwgJ3llYXInLCBpc1VUQyk7XG4gIGNvbnN0IHNvbWVEYXRlID0gZGF0ZTEgLSBkYXRlMjtcbiAgY29uc3Qgb25lRGF5ID0gMTAwMCAqIDYwICogNjAgKiAyNDtcblxuICByZXR1cm4gTWF0aC5yb3VuZChzb21lRGF0ZSAvIG9uZURheSkgKyAxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RGF5T2ZZZWFyKGRhdGU6IERhdGUsIGlucHV0OiBudW1iZXIpOiBEYXRlIHtcbiAgY29uc3QgZGF5T2ZZZWFyID0gZ2V0RGF5T2ZZZWFyKGRhdGUpO1xuXG4gIHJldHVybiBhZGQoZGF0ZSwgKGlucHV0IC0gZGF5T2ZZZWFyKSwgJ2RheScpO1xufVxuIl19","/**\n *\n * @param {number} year\n * @param {number} dow - start-of-first-week\n * @param {number} doy - start-of-year\n * @returns {number}\n */\nimport { createUTCDate } from '../create/date-from-array';\nimport { daysInYear } from './year';\nimport { getDayOfYear } from './day-of-year';\nimport { getFullYear } from '../utils/date-getters';\nfunction firstWeekOffset(year, dow, doy) {\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n const fwd = dow - doy + 7;\n // first-week day local weekday -- which local weekday is fwd\n const fwdlw = (createUTCDate(year, 0, fwd).getUTCDay() - dow + 7) % 7;\n return -fwdlw + fwd - 1;\n}\n// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\nexport function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n const localWeekday = (7 + weekday - dow) % 7;\n const weekOffset = firstWeekOffset(year, dow, doy);\n const dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset;\n let resYear;\n let resDayOfYear;\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n }\n else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n }\n else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n}\nexport function weekOfYear(date, dow, doy, isUTC) {\n const weekOffset = firstWeekOffset(getFullYear(date, isUTC), dow, doy);\n const week = Math.floor((getDayOfYear(date, isUTC) - weekOffset - 1) / 7) + 1;\n let resWeek;\n let resYear;\n if (week < 1) {\n resYear = getFullYear(date, isUTC) - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n }\n else if (week > weeksInYear(getFullYear(date, isUTC), dow, doy)) {\n resWeek = week - weeksInYear(getFullYear(date, isUTC), dow, doy);\n resYear = getFullYear(date, isUTC) + 1;\n }\n else {\n resYear = getFullYear(date, isUTC);\n resWeek = week;\n }\n return {\n week: resWeek,\n year: resYear\n };\n}\nexport function weeksInYear(year, dow, doy) {\n const weekOffset = firstWeekOffset(year, dow, doy);\n const weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay1jYWxlbmRhci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL3VuaXRzL3dlZWstY2FsZW5kYXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsU0FBUyxlQUFlLENBQUMsSUFBWSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQzdELHVGQUF1RjtJQUN2RixNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQiw2REFBNkQ7SUFDN0QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXRFLE9BQU8sQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBRUQsMkdBQTJHO0FBQzNHLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsSUFBWSxFQUNaLElBQVksRUFDWixPQUFlLEVBQ2YsR0FBVyxFQUNYLEdBQVc7SUFFWCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FBQztJQUNqRSxJQUFJLE9BQWUsQ0FBQztJQUNwQixJQUFJLFlBQW9CLENBQUM7SUFFekIsSUFBSSxTQUFTLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkIsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7UUFDbkIsWUFBWSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDakQsQ0FBQztTQUFNLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLFlBQVksR0FBRyxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQztRQUNmLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxZQUFZO0tBQ3hCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFVLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxLQUFlO0lBQzlFLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlFLElBQUksT0FBZSxDQUFDO0lBQ3BCLElBQUksT0FBZSxDQUFDO0lBRXBCLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2IsT0FBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sR0FBRyxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztTQUFNLElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xFLE9BQU8sR0FBRyxJQUFJLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxPQUFPO0tBQ2QsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVksRUFBRSxHQUFXLEVBQUUsR0FBVztJQUNoRSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNuRCxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFM0QsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0geWVhclxuICogQHBhcmFtIHtudW1iZXJ9IGRvdyAtIHN0YXJ0LW9mLWZpcnN0LXdlZWtcbiAqIEBwYXJhbSB7bnVtYmVyfSBkb3kgLSBzdGFydC1vZi15ZWFyXG4gKiBAcmV0dXJucyB7bnVtYmVyfVxuICovXG5pbXBvcnQgeyBjcmVhdGVVVENEYXRlIH0gZnJvbSAnLi4vY3JlYXRlL2RhdGUtZnJvbS1hcnJheSc7XG5pbXBvcnQgeyBkYXlzSW5ZZWFyIH0gZnJvbSAnLi95ZWFyJztcbmltcG9ydCB7IGdldERheU9mWWVhciB9IGZyb20gJy4vZGF5LW9mLXllYXInO1xuaW1wb3J0IHsgZ2V0RnVsbFllYXIgfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuXG5mdW5jdGlvbiBmaXJzdFdlZWtPZmZzZXQoeWVhcjogbnVtYmVyLCBkb3c6IG51bWJlciwgZG95OiBudW1iZXIpOiBudW1iZXIge1xuICAvLyBmaXJzdC13ZWVrIGRheSAtLSB3aGljaCBqYW51YXJ5IGlzIGFsd2F5cyBpbiB0aGUgZmlyc3Qgd2VlayAoNCBmb3IgaXNvLCAxIGZvciBvdGhlcilcbiAgY29uc3QgZndkID0gZG93IC0gZG95ICsgNztcbiAgLy8gZmlyc3Qtd2VlayBkYXkgbG9jYWwgd2Vla2RheSAtLSB3aGljaCBsb2NhbCB3ZWVrZGF5IGlzIGZ3ZFxuICBjb25zdCBmd2RsdyA9IChjcmVhdGVVVENEYXRlKHllYXIsIDAsIGZ3ZCkuZ2V0VVRDRGF5KCkgLSBkb3cgKyA3KSAlIDc7XG5cbiAgcmV0dXJuIC1md2RsdyArIGZ3ZCAtIDE7XG59XG5cbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGUjQ2FsY3VsYXRpbmdfYV9kYXRlX2dpdmVuX3RoZV95ZWFyLjJDX3dlZWtfbnVtYmVyX2FuZF93ZWVrZGF5XG5leHBvcnQgZnVuY3Rpb24gZGF5T2ZZZWFyRnJvbVdlZWtzKFxuICB5ZWFyOiBudW1iZXIsXG4gIHdlZWs6IG51bWJlcixcbiAgd2Vla2RheTogbnVtYmVyLFxuICBkb3c6IG51bWJlcixcbiAgZG95OiBudW1iZXJcbik6IHsgeWVhcjogbnVtYmVyOyBkYXlPZlllYXI6IG51bWJlciB9IHtcbiAgY29uc3QgbG9jYWxXZWVrZGF5ID0gKDcgKyB3ZWVrZGF5IC0gZG93KSAlIDc7XG4gIGNvbnN0IHdlZWtPZmZzZXQgPSBmaXJzdFdlZWtPZmZzZXQoeWVhciwgZG93LCBkb3kpO1xuICBjb25zdCBkYXlPZlllYXIgPSAxICsgNyAqICh3ZWVrIC0gMSkgKyBsb2NhbFdlZWtkYXkgKyB3ZWVrT2Zmc2V0O1xuICBsZXQgcmVzWWVhcjogbnVtYmVyO1xuICBsZXQgcmVzRGF5T2ZZZWFyOiBudW1iZXI7XG5cbiAgaWYgKGRheU9mWWVhciA8PSAwKSB7XG4gICAgcmVzWWVhciA9IHllYXIgLSAxO1xuICAgIHJlc0RheU9mWWVhciA9IGRheXNJblllYXIocmVzWWVhcikgKyBkYXlPZlllYXI7XG4gIH0gZWxzZSBpZiAoZGF5T2ZZZWFyID4gZGF5c0luWWVhcih5ZWFyKSkge1xuICAgIHJlc1llYXIgPSB5ZWFyICsgMTtcbiAgICByZXNEYXlPZlllYXIgPSBkYXlPZlllYXIgLSBkYXlzSW5ZZWFyKHllYXIpO1xuICB9IGVsc2Uge1xuICAgIHJlc1llYXIgPSB5ZWFyO1xuICAgIHJlc0RheU9mWWVhciA9IGRheU9mWWVhcjtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgeWVhcjogcmVzWWVhcixcbiAgICBkYXlPZlllYXI6IHJlc0RheU9mWWVhclxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2Vla09mWWVhcihkYXRlOiBEYXRlLCBkb3c6IG51bWJlciwgZG95OiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IHsgd2VlazogbnVtYmVyOyB5ZWFyOiBudW1iZXIgfSB7XG4gIGNvbnN0IHdlZWtPZmZzZXQgPSBmaXJzdFdlZWtPZmZzZXQoZ2V0RnVsbFllYXIoZGF0ZSwgaXNVVEMpLCBkb3csIGRveSk7XG4gIGNvbnN0IHdlZWsgPSBNYXRoLmZsb29yKChnZXREYXlPZlllYXIoZGF0ZSwgaXNVVEMpIC0gd2Vla09mZnNldCAtIDEpIC8gNykgKyAxO1xuICBsZXQgcmVzV2VlazogbnVtYmVyO1xuICBsZXQgcmVzWWVhcjogbnVtYmVyO1xuXG4gIGlmICh3ZWVrIDwgMSkge1xuICAgIHJlc1llYXIgPSBnZXRGdWxsWWVhcihkYXRlLCBpc1VUQykgLSAxO1xuICAgIHJlc1dlZWsgPSB3ZWVrICsgd2Vla3NJblllYXIocmVzWWVhciwgZG93LCBkb3kpO1xuICB9IGVsc2UgaWYgKHdlZWsgPiB3ZWVrc0luWWVhcihnZXRGdWxsWWVhcihkYXRlLCBpc1VUQyksIGRvdywgZG95KSkge1xuICAgIHJlc1dlZWsgPSB3ZWVrIC0gd2Vla3NJblllYXIoZ2V0RnVsbFllYXIoZGF0ZSwgaXNVVEMpLCBkb3csIGRveSk7XG4gICAgcmVzWWVhciA9IGdldEZ1bGxZZWFyKGRhdGUsIGlzVVRDKSArIDE7XG4gIH0gZWxzZSB7XG4gICAgcmVzWWVhciA9IGdldEZ1bGxZZWFyKGRhdGUsIGlzVVRDKTtcbiAgICByZXNXZWVrID0gd2VlaztcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgd2VlazogcmVzV2VlayxcbiAgICB5ZWFyOiByZXNZZWFyXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3ZWVrc0luWWVhcih5ZWFyOiBudW1iZXIsIGRvdzogbnVtYmVyLCBkb3k6IG51bWJlcik6IG51bWJlciB7XG4gIGNvbnN0IHdlZWtPZmZzZXQgPSBmaXJzdFdlZWtPZmZzZXQoeWVhciwgZG93LCBkb3kpO1xuICBjb25zdCB3ZWVrT2Zmc2V0TmV4dCA9IGZpcnN0V2Vla09mZnNldCh5ZWFyICsgMSwgZG93LCBkb3kpO1xuXG4gIHJldHVybiAoZGF5c0luWWVhcih5ZWFyKSAtIHdlZWtPZmZzZXQgKyB3ZWVrT2Zmc2V0TmV4dCkgLyA3O1xufVxuIl19","import { weekOfYear } from '../units/week-calendar-utils';\nimport { hasOwnProp, isArray, isFunction } from '../utils/type-checks';\nimport { getDay, getMonth, getFullYear } from '../utils/date-getters';\nimport { matchWord, regexEscape } from '../parse/regex';\nimport { setDayOfWeek } from '../units/day-of-week';\nconst MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nexport const defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\nexport const defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\nexport const defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\nexport const defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\nexport const defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nexport const 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};\nexport const defaultOrdinal = '%d';\nexport const defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\nconst defaultMonthsShortRegex = matchWord;\nconst defaultMonthsRegex = matchWord;\nexport class Locale {\n constructor(config) {\n if (config) {\n this.set(config);\n }\n }\n set(config) {\n let confKey;\n for (confKey in config) {\n // eslint-disable-next-line no-prototype-builtins\n if (!config.hasOwnProperty(confKey)) {\n continue;\n }\n const prop = config[confKey];\n const key = (isFunction(prop) ? confKey : `_${confKey}`);\n this[key] = prop;\n }\n this._config = config;\n }\n calendar(key, date, now) {\n const output = this._calendar[key] || this._calendar[\"sameElse\"];\n return isFunction(output) ? output.call(null, date, now) : output;\n }\n longDateFormat(key) {\n const format = this._longDateFormat[key];\n const formatUpper = this._longDateFormat[key.toUpperCase()];\n if (format || !formatUpper) {\n return format;\n }\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n return this._longDateFormat[key];\n }\n get invalidDate() {\n return this._invalidDate;\n }\n set invalidDate(val) {\n this._invalidDate = val;\n }\n ordinal(num, token) {\n return this._ordinal.replace('%d', num.toString(10));\n }\n preparse(str, format) {\n return str;\n }\n getFullYear(date, isUTC = false) {\n return getFullYear(date, isUTC);\n }\n postformat(str) {\n return str;\n }\n relativeTime(num, withoutSuffix, str, isFuture) {\n const output = this._relativeTime[str];\n return (isFunction(output)) ?\n output(num, withoutSuffix, str, isFuture) :\n output.replace(/%d/i, num.toString(10));\n }\n pastFuture(diff, output) {\n const format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n months(date, format, isUTC = false) {\n if (!date) {\n return isArray(this._months)\n ? this._months\n : this._months.standalone;\n }\n if (isArray(this._months)) {\n return this._months[getMonth(date, isUTC)];\n }\n const key = (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone';\n return this._months[key][getMonth(date, isUTC)];\n }\n monthsShort(date, format, isUTC = false) {\n if (!date) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort.standalone;\n }\n if (isArray(this._monthsShort)) {\n return this._monthsShort[getMonth(date, isUTC)];\n }\n const key = MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone';\n return this._monthsShort[key][getMonth(date, isUTC)];\n }\n monthsParse(monthName, format, strict) {\n let date;\n let regex;\n if (this._monthsParseExact) {\n return this.handleMonthStrictParse(monthName, format, strict);\n }\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\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 let i;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n date = new Date(Date.UTC(2000, i));\n if (strict && !this._longMonthsParse[i]) {\n const _months = this.months(date, '', true).replace('.', '');\n const _shortMonths = this.monthsShort(date, '', true).replace('.', '');\n this._longMonthsParse[i] = new RegExp(`^${_months}$`, 'i');\n this._shortMonthsParse[i] = new RegExp(`^${_shortMonths}$`, 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = `^${this.months(date, '', true)}|^${this.monthsShort(date, '', true)}`;\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // testing the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n }\n if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n }\n if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this.computeMonthsParse();\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n }\n return this._monthsRegex;\n }\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this.computeMonthsParse();\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n }\n return this._monthsShortRegex;\n }\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n /** Week */\n week(date, isUTC) {\n return weekOfYear(date, this._week.dow, this._week.doy, isUTC).week;\n }\n firstDayOfWeek() {\n return this._week.dow;\n }\n firstDayOfYear() {\n return this._week.doy;\n }\n weekdays(date, format, isUTC) {\n if (!date) {\n return isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays.standalone;\n }\n if (isArray(this._weekdays)) {\n return this._weekdays[getDay(date, isUTC)];\n }\n const _key = this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone';\n return this._weekdays[_key][getDay(date, isUTC)];\n }\n weekdaysMin(date, format, isUTC) {\n return date ? this._weekdaysMin[getDay(date, isUTC)] : this._weekdaysMin;\n }\n weekdaysShort(date, format, isUTC) {\n return date ? this._weekdaysShort[getDay(date, isUTC)] : this._weekdaysShort;\n }\n // proto.weekdaysParse = localeWeekdaysParse;\n weekdaysParse(weekdayName, format, strict) {\n let i;\n let regex;\n if (this._weekdaysParseExact) {\n return this.handleWeekStrictParse(weekdayName, format, strict);\n }\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n // fix: here is the issue\n const date = setDayOfWeek(new Date(Date.UTC(2000, 1)), i, null, true);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(`^${this.weekdays(date, '', true).replace('.', '\\.?')}$`, 'i');\n this._shortWeekdaysParse[i] = new RegExp(`^${this.weekdaysShort(date, '', true).replace('.', '\\.?')}$`, 'i');\n this._minWeekdaysParse[i] = new RegExp(`^${this.weekdaysMin(date, '', true).replace('.', '\\.?')}$`, 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = `^${this.weekdays(date, '', true)}|^${this.weekdaysShort(date, '', true)}|^${this.weekdaysMin(date, '', true)}`;\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n if (!isArray(this._fullWeekdaysParse)\n || !isArray(this._shortWeekdaysParse)\n || !isArray(this._minWeekdaysParse)\n || !isArray(this._weekdaysParse)) {\n return;\n }\n // testing the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n }\n else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n }\n else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n }\n else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n // proto.weekdaysRegex = weekdaysRegex;\n weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this.computeWeekdaysParse();\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n }\n else {\n return this._weekdaysRegex;\n }\n }\n else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = matchWord;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n // proto.weekdaysShortRegex = weekdaysShortRegex;\n // proto.weekdaysMinRegex = weekdaysMinRegex;\n weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this.computeWeekdaysParse();\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n }\n else {\n return this._weekdaysShortRegex;\n }\n }\n else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = matchWord;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this.computeWeekdaysParse();\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n }\n else {\n return this._weekdaysMinRegex;\n }\n }\n else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = matchWord;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n isPM(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 meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n }\n return isLower ? 'am' : 'AM';\n }\n formatLongDate(key) {\n this._longDateFormat = this._longDateFormat ? this._longDateFormat : defaultLongDateFormat;\n const format = this._longDateFormat[key];\n const formatUpper = this._longDateFormat[key.toUpperCase()];\n if (format || !formatUpper) {\n return format;\n }\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, (val) => {\n return val.slice(1);\n });\n return this._longDateFormat[key];\n }\n handleMonthStrictParse(monthName, format, strict) {\n const llc = monthName.toLocaleLowerCase();\n let i;\n let ii;\n let mom;\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 = new Date(2000, i);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n if (strict) {\n if (format === 'MMM') {\n ii = this._shortMonthsParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n ii = this._longMonthsParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n if (format === 'MMM') {\n ii = this._shortMonthsParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._longMonthsParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n ii = this._longMonthsParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._shortMonthsParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n handleWeekStrictParse(weekdayName, format, strict) {\n let ii;\n const llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n let i;\n for (i = 0; i < 7; ++i) {\n const date = setDayOfWeek(new Date(Date.UTC(2000, 1)), i, null, true);\n this._minWeekdaysParse[i] = this.weekdaysMin(date).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(date).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(date, '').toLocaleLowerCase();\n }\n }\n if (!isArray(this._weekdaysParse)\n || !isArray(this._shortWeekdaysParse)\n || !isArray(this._minWeekdaysParse)) {\n return;\n }\n if (strict) {\n if (format === 'dddd') {\n ii = this._weekdaysParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n else if (format === 'ddd') {\n ii = this._shortWeekdaysParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n else {\n ii = this._minWeekdaysParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n }\n else {\n if (format === 'dddd') {\n ii = this._weekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._shortWeekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._minWeekdaysParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n else if (format === 'ddd') {\n ii = this._shortWeekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._weekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._minWeekdaysParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n else {\n ii = this._minWeekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._weekdaysParse.indexOf(llc);\n if (ii !== -1) {\n return ii;\n }\n ii = this._shortWeekdaysParse.indexOf(llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n computeMonthsParse() {\n const shortPieces = [];\n const longPieces = [];\n const mixedPieces = [];\n let date;\n let i;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n date = new Date(2000, i);\n shortPieces.push(this.monthsShort(date, ''));\n longPieces.push(this.months(date, ''));\n mixedPieces.push(this.months(date, ''));\n mixedPieces.push(this.monthsShort(date, ''));\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 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 computeWeekdaysParse() {\n const minPieces = [];\n const shortPieces = [];\n const longPieces = [];\n const mixedPieces = [];\n let i;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n // let mom = createUTC([2000, 1]).day(i);\n const date = setDayOfWeek(new Date(Date.UTC(2000, 1)), i, null, true);\n const minp = this.weekdaysMin(date);\n const shortp = this.weekdaysShort(date);\n const longp = this.weekdays(date);\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 this._weekdaysRegex = new RegExp(`^(${mixedPieces.join('|')})`, 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\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}\nfunction cmpLenRev(a, b) {\n return b.length - a.length;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvbG9jYWxlL2xvY2FsZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFVcEQsTUFBTSxnQkFBZ0IsR0FBRywrQkFBK0IsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyx1RkFBdUYsQ0FBQyxLQUFLLENBQzlILEdBQUcsQ0FDSixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsaURBQWlELENBQUMsS0FBSyxDQUM3RixHQUFHLENBQ0osQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLDBEQUEwRCxDQUFDLEtBQUssQ0FDbkcsR0FBRyxDQUNKLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQzNFLEdBQUcsQ0FDSixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFnQztJQUNoRSxHQUFHLEVBQUUsV0FBVztJQUNoQixFQUFFLEVBQUUsUUFBUTtJQUNaLENBQUMsRUFBRSxZQUFZO0lBQ2YsRUFBRSxFQUFF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QUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUU3QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0Y7QUFFRCxTQUFTLFNBQVMsQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUNyQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd2Vla09mWWVhciB9IGZyb20gJy4uL3VuaXRzL3dlZWstY2FsZW5kYXItdXRpbHMnO1xuaW1wb3J0IHsgaGFzT3duUHJvcCwgaXNBcnJheSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IGdldERheSwgZ2V0TW9udGgsIGdldEZ1bGxZZWFyIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IG1hdGNoV29yZCwgcmVnZXhFc2NhcGUgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBzZXREYXlPZldlZWsgfSBmcm9tICcuLi91bml0cy9kYXktb2Ytd2Vlayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxlT3B0aW9uc0Zvcm1hdCB7XG4gIGZvcm1hdDogc3RyaW5nW107XG4gIHN0YW5kYWxvbmU6IHN0cmluZ1tdO1xuICBpc0Zvcm1hdD86IFJlZ0V4cDtcbn1cblxuZXhwb3J0IHR5cGUgTG9jYWxlT3B0aW9ucyA9IHN0cmluZ1tdIHwgTG9jYWxlT3B0aW9uc0Zvcm1hdDtcblxuY29uc3QgTU9OVEhTX0lOX0ZPUk1BVCA9IC9EW29EXT8oXFxbW15cXFtcXF1dKlxcXXxcXHMpK01NTU0/LztcbmV4cG9ydCBjb25zdCBkZWZhdWx0TG9jYWxlTW9udGhzID0gJ0phbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXInLnNwbGl0KFxuICAnXydcbik7XG5leHBvcnQgY29uc3QgZGVmYXVsdExvY2FsZU1vbnRoc1Nob3J0ID0gJ0phbl9GZWJfTWFyX0Fwcl9NYXlfSnVuX0p1bF9BdWdfU2VwX09jdF9Ob3ZfRGVjJy5zcGxpdChcbiAgJ18nXG4pO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhbGVXZWVrZGF5cyA9ICdTdW5kYXlfTW9uZGF5X1R1ZXNkYXlfV2VkbmVzZGF5X1RodXJzZGF5X0ZyaWRheV9TYXR1cmRheScuc3BsaXQoXG4gICdfJ1xuKTtcbmV4cG9ydCBjb25zdCBkZWZhdWx0TG9jYWxlV2Vla2RheXNTaG9ydCA9ICdTdW5fTW9uX1R1ZV9XZWRfVGh1X0ZyaV9TYXQnLnNwbGl0KFxuICAnXydcbik7XG5leHBvcnQgY29uc3QgZGVmYXVsdExvY2FsZVdlZWtkYXlzTWluID0gJ1N1X01vX1R1X1dlX1RoX0ZyX1NhJy5zcGxpdCgnXycpO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb25nRGF0ZUZvcm1hdDogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICBMVFM6ICdoOm1tOnNzIEEnLFxuICBMVDogJ2g6bW0gQScsXG4gIEw6ICdNTS9ERC9ZWVlZJyxcbiAgTEw6ICdNTU1NIEQsIFlZWVknLFxuICBMTEw6ICdNTU1NIEQsIFlZWVkgaDptbSBBJyxcbiAgTExMTDogJ2RkZGQsIE1NTU0gRCwgWVlZWSBoOm1tIEEnXG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdE9yZGluYWwgPSAnJWQnO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHREYXlPZk1vbnRoT3JkaW5hbFBhcnNlID0gL1xcZHsxLDJ9LztcblxuY29uc3QgZGVmYXVsdE1vbnRoc1Nob3J0UmVnZXggPSBtYXRjaFdvcmQ7XG5jb25zdCBkZWZhdWx0TW9udGhzUmVnZXggPSBtYXRjaFdvcmQ7XG5cbmV4cG9ydCB0eXBlIE9yZGluYWxEYXRlRm4gPSAobnVtOiBudW1iZXIsIHRva2VuPzogc3RyaW5nKSA9PiBzdHJpbmc7XG5leHBvcnQgdHlwZSBQbHVyYWxpemVEYXRlRm4gPSAobnVtOiBudW1iZXIsIHdpdGhvdXRTdWZmaXg6IGJvb2xlYW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Pzogc3RyaW5nLCBpc0Z1dHVyZT86IGJvb2xlYW4pID0+IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbGVEYXRhIHtcbiAgYWJicj86IHN0cmluZztcbiAgcGFyZW50TG9jYWxlPzogc3RyaW5nO1xuXG4gIG1vbnRocz86IExvY2FsZU9wdGlvbnMgfCAoKGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pID0+IHN0cmluZyB8IHN0cmluZ1tdKTtcbiAgbW9udGhzU2hvcnQ/OiBMb2NhbGVPcHRpb25zIHwgKChkYXRlOiBEYXRlLCBmb3JtYXQ6IHN0cmluZywgaXNVVEM/OiBib29sZWFuKSA9PiBzdHJpbmcgfCBzdHJpbmdbXSk7XG4gIG1vbnRoc1BhcnNlRXhhY3Q/OiBib29sZWFuO1xuXG4gIHdlZWtkYXlzPzogTG9jYWxlT3B0aW9ucyB8ICgoZGF0ZTogRGF0ZSwgZm9ybWF0OiBzdHJpbmcsIGlzVVRDPzogYm9vbGVhbikgPT4gc3RyaW5nIHwgc3RyaW5nW10pO1xuICB3ZWVrZGF5c1Nob3J0Pzogc3RyaW5nW10gfCAoKGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pID0+IHN0cmluZyB8IHN0cmluZ1tdKTtcbiAgd2Vla2RheXNNaW4/OiBzdHJpbmdbXSB8ICgoZGF0ZTogRGF0ZSwgZm9ybWF0OiBzdHJpbmcsIGlzVVRDPzogYm9vbGVhbikgPT4gc3RyaW5nIHwgc3RyaW5nW10pO1xuICB3ZWVrZGF5c1BhcnNlRXhhY3Q/OiBib29sZWFuO1xuXG4gIGxvbmdEYXRlRm9ybWF0PzogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB9O1xuICBjYWxlbmRhcj86IHtcbiAgICBba2V5OiBzdHJpbmddOiAoc3RyaW5nXG4gICAgICB8ICgoZGF0ZTogRGF0ZSwgbm93PzogRGF0ZSkgPT4gc3RyaW5nKVxuICAgICAgfCAoKGRheU9mV2VlazogbnVtYmVyLCBpc05leHRXZWVrOiBib29sZWFuKSA9PiBzdHJpbmcpKVxuICB9O1xuICByZWxhdGl2ZVRpbWU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IFBsdXJhbGl6ZURhdGVGbiB9O1xuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlPzogUmVnRXhwO1xuICBvcmRpbmFsPzogc3RyaW5nIHwgT3JkaW5hbERhdGVGbjtcblxuICB3ZWVrPzogeyBkb3c/OiBudW1iZXI7IGRveT86IG51bWJlciB9O1xuXG4gIGludmFsaWREYXRlPzogc3RyaW5nO1xuXG4gIG1vbnRoc1JlZ2V4PzogUmVnRXhwO1xuICBtb250aHNQYXJzZT86IFJlZ0V4cFtdO1xuICBtb250aHNTaG9ydFJlZ2V4PzogUmVnRXhwO1xuICBtb250aHNTdHJpY3RSZWdleD86IFJlZ0V4cDtcbiAgbW9udGhzU2hvcnRTdHJpY3RSZWdleD86IFJlZ0V4cDtcbiAgbG9uZ01vbnRoc1BhcnNlPzogUmVnRXhwW107XG4gIHNob3J0TW9udGhzUGFyc2U/OiBSZWdFeHBbXTtcblxuICBtZXJpZGllbVBhcnNlPzogUmVnRXhwO1xuXG4gIG1lcmlkaWVtSG91cj8oaG91cjogbnVtYmVyLCBtZXJpZGllbTogc3RyaW5nKTogbnVtYmVyO1xuXG4gIHByZXBhcnNlPyhzdHI6IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmc7XG5cbiAgcG9zdGZvcm1hdD8oc3RyOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmc7XG5cbiAgbWVyaWRpZW0/KGhvdXI6IG51bWJlciwgbWludXRlPzogbnVtYmVyLCBpc0xvd2VyPzogYm9vbGVhbik6IHN0cmluZztcblxuICBpc1BNPyhpbnB1dDogc3RyaW5nKTogYm9vbGVhbjtcblxuICBnZXRGdWxsWWVhcj8oZGF0ZTogRGF0ZSwgaXNVVEM6IGJvb2xlYW4pOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBMb2NhbGUge1xuICBwYXJlbnRMb2NhbGU/OiBMb2NhbGU7XG4gIF9hYmJyOiBzdHJpbmc7XG4gIF9jb25maWc6IExvY2FsZURhdGE7XG4gIG1lcmlkaWVtSG91cjogKGhvdXI6IG51bWJlciwgbWVyaWRpZW06IHN0cmluZykgPT4gbnVtYmVyO1xuXG4gIF9pbnZhbGlkRGF0ZTogc3RyaW5nO1xuICBfd2VlazogeyBkb3c6IG51bWJlcjsgZG95OiBudW1iZXIgfTtcbiAgX2RheU9mTW9udGhPcmRpbmFsUGFyc2U6IFJlZ0V4cDtcbiAgX29yZGluYWxQYXJzZTogUmVnRXhwO1xuICBfbWVyaWRpZW1QYXJzZTogUmVnRXhwO1xuXG4gIHByaXZhdGUgX2NhbGVuZGFyOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBwcml2YXRlIF9yZWxhdGl2ZVRpbWU6IHsgZnV0dXJlOiBzdHJpbmc7IHBhc3Q6IHN0cmluZyB9O1xuICBwcml2YXRlIF9tb250aHM6IExvY2FsZU9wdGlvbnM7XG4gIHByaXZhdGUgX21vbnRoc1Nob3J0OiBMb2NhbGVPcHRpb25zO1xuICBwcml2YXRlIF9tb250aHNSZWdleDogUmVnRXhwO1xuICBwcml2YXRlIF9tb250aHNTaG9ydFJlZ2V4OiBSZWdFeHA7XG4gIHByaXZhdGUgX21vbnRoc1N0cmljdFJlZ2V4OiBSZWdFeHA7XG4gIHByaXZhdGUgX21vbnRoc1Nob3J0U3RyaWN0UmVnZXg6IFJlZ0V4cDtcbiAgcHJpdmF0ZSBfbW9udGhzUGFyc2U6IFJlZ0V4cFtdO1xuICBwcml2YXRlIF9sb25nTW9udGhzUGFyc2U6IHN0cmluZ1tdIHwgUmVnRXhwW107XG4gIHByaXZhdGUgX3Nob3J0TW9udGhzUGFyc2U6IHN0cmluZ1tdIHwgUmVnRXhwW107XG4gIHByaXZhdGUgX21vbnRoc1BhcnNlRXhhY3Q6IFJlZ0V4cDtcbiAgcHJpdmF0ZSBfd2Vla2RheXNQYXJzZUV4YWN0OiBib29sZWFuO1xuICBwcml2YXRlIF93ZWVrZGF5c1JlZ2V4OiBSZWdFeHA7XG4gIHByaXZhdGUgX3dlZWtkYXlzU2hvcnRSZWdleDogUmVnRXhwO1xuICBwcml2YXRlIF93ZWVrZGF5c01pblJlZ2V4OiBSZWdFeHA7XG5cbiAgcHJpdmF0ZSBfd2Vla2RheXNTdHJpY3RSZWdleDogUmVnRXhwO1xuICBwcml2YXRlIF93ZWVrZGF5c1Nob3J0U3RyaWN0UmVnZXg6IFJlZ0V4cDtcbiAgcHJpdmF0ZSBfd2Vla2RheXNNaW5TdHJpY3RSZWdleDogUmVnRXhwO1xuXG4gIHByaXZhdGUgX3dlZWtkYXlzOiBMb2NhbGVPcHRpb25zO1xuICBwcml2YXRlIF93ZWVrZGF5c1Nob3J0OiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBfd2Vla2RheXNNaW46IHN0cmluZ1tdO1xuICBwcml2YXRlIF93ZWVrZGF5c1BhcnNlOiBzdHJpbmdbXSB8IFJlZ0V4cFtdO1xuICBwcml2YXRlIF9taW5XZWVrZGF5c1BhcnNlOiBzdHJpbmdbXSB8IFJlZ0V4cFtdO1xuICBwcml2YXRlIF9zaG9ydFdlZWtkYXlzUGFyc2U6IHN0cmluZ1tdIHwgUmVnRXhwW107XG4gIHByaXZhdGUgX2Z1bGxXZWVrZGF5c1BhcnNlOiBSZWdFeHBbXTtcbiAgcHJpdmF0ZSBfbG9uZ0RhdGVGb3JtYXQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgcHJpdmF0ZSBfb3JkaW5hbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogTG9jYWxlRGF0YSkge1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHRoaXMuc2V0KGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgc2V0KGNvbmZpZzogTG9jYWxlRGF0YSk6IHZvaWQge1xuICAgIGxldCBjb25mS2V5O1xuICAgIGZvciAoY29uZktleSBpbiBjb25maWcpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgICAgIGlmICghY29uZmlnLmhhc093blByb3BlcnR5KGNvbmZLZXkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgcHJvcCA9IGNvbmZpZ1tjb25mS2V5IGFzIGtleW9mIExvY2FsZURhdGFdO1xuICAgICAgY29uc3Qga2V5ID0gKGlzRnVuY3Rpb24ocHJvcCkgPyBjb25mS2V5IDogYF8ke2NvbmZLZXl9YCkgYXMga2V5b2YgTG9jYWxlO1xuXG4gICAgICB0aGlzW2tleV0gPSBwcm9wIGFzIGFueTtcbiAgICB9XG5cbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gIH1cblxuICBjYWxlbmRhcihrZXk6IHN0cmluZywgZGF0ZTogRGF0ZSwgbm93OiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBvdXRwdXQgPSB0aGlzLl9jYWxlbmRhcltrZXldIHx8IHRoaXMuX2NhbGVuZGFyW1wic2FtZUVsc2VcIl07XG5cbiAgICByZXR1cm4gaXNGdW5jdGlvbihvdXRwdXQpID8gb3V0cHV0LmNhbGwobnVsbCwgZGF0ZSwgbm93KSA6IG91dHB1dDtcbiAgfVxuXG4gIGxvbmdEYXRlRm9ybWF0KGtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgZm9ybWF0ID0gdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5XTtcbiAgICBjb25zdCBmb3JtYXRVcHBlciA9IHRoaXMuX2xvbmdEYXRlRm9ybWF0W2tleS50b1VwcGVyQ2FzZSgpXTtcblxuICAgIGlmIChmb3JtYXQgfHwgIWZvcm1hdFVwcGVyKSB7XG4gICAgICByZXR1cm4gZm9ybWF0O1xuICAgIH1cblxuICAgIHRoaXMuX2xvbmdEYXRlRm9ybWF0W2tleV0gPSBmb3JtYXRVcHBlci5yZXBsYWNlKC9NTU1NfE1NfEREfGRkZGQvZywgZnVuY3Rpb24gKHZhbDogc3RyaW5nKSB7XG4gICAgICByZXR1cm4gdmFsLnNsaWNlKDEpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2xvbmdEYXRlRm9ybWF0W2tleV07XG4gIH1cblxuICBnZXQgaW52YWxpZERhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faW52YWxpZERhdGU7XG4gIH1cblxuICBzZXQgaW52YWxpZERhdGUodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pbnZhbGlkRGF0ZSA9IHZhbDtcbiAgfVxuXG4gIG9yZGluYWwobnVtOiBudW1iZXIsIHRva2VuPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fb3JkaW5hbC5yZXBsYWNlKCclZCcsIG51bS50b1N0cmluZygxMCkpO1xuICB9XG5cbiAgcHJlcGFyc2Uoc3RyOiBzdHJpbmcsIGZvcm1hdD86IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG5cbiAgZ2V0RnVsbFllYXIoZGF0ZTogRGF0ZSwgaXNVVEMgPSBmYWxzZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGdldEZ1bGxZZWFyKGRhdGUsIGlzVVRDKTtcbiAgfVxuXG4gIHBvc3Rmb3JtYXQoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG5cbiAgcmVsYXRpdmVUaW1lKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBzdHI6ICdmdXR1cmUnIHwgJ3Bhc3QnLCBpc0Z1dHVyZTogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgY29uc3Qgb3V0cHV0ID0gdGhpcy5fcmVsYXRpdmVUaW1lW3N0cl07XG5cbiAgICByZXR1cm4gKGlzRnVuY3Rpb24ob3V0cHV0KSkgP1xuICAgICAgb3V0cHV0KG51bSwgd2l0aG91dFN1ZmZpeCwgc3RyLCBpc0Z1dHVyZSkgOlxuICAgICAgb3V0cHV0LnJlcGxhY2UoLyVkL2ksIG51bS50b1N0cmluZygxMCkpO1xuICB9XG5cbiAgcGFzdEZ1dHVyZShkaWZmOiBudW1iZXIsIG91dHB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBmb3JtYXQgPSB0aGlzLl9yZWxhdGl2ZVRpbWVbZGlmZiA+IDAgPyAnZnV0dXJlJyA6ICdwYXN0J107XG5cbiAgICByZXR1cm4gaXNGdW5jdGlvbihmb3JtYXQpID8gZm9ybWF0KG91dHB1dCkgOiBmb3JtYXQucmVwbGFjZSgvJXMvaSwgb3V0cHV0KTtcbiAgfVxuXG4gIC8qKiBNb250aHMgKi9cbiAgbW9udGhzKCk6IHN0cmluZ1tdO1xuICBtb250aHMoZGF0ZTogRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pOiBzdHJpbmc7XG4gIG1vbnRocyhkYXRlPzogRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBpc1VUQyA9IGZhbHNlKTogc3RyaW5nIHwgc3RyaW5nW10ge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIGlzQXJyYXk8c3RyaW5nPih0aGlzLl9tb250aHMpXG4gICAgICAgID8gdGhpcy5fbW9udGhzXG4gICAgICAgIDogdGhpcy5fbW9udGhzLnN0YW5kYWxvbmU7XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyYXk8c3RyaW5nPih0aGlzLl9tb250aHMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbW9udGhzW2dldE1vbnRoKGRhdGUsIGlzVVRDKV07XG4gICAgfVxuXG4gICAgY29uc3Qga2V5ID0gKHRoaXMuX21vbnRocy5pc0Zvcm1hdCB8fCBNT05USFNfSU5fRk9STUFUKS50ZXN0KGZvcm1hdClcbiAgICAgID8gJ2Zvcm1hdCdcbiAgICAgIDogJ3N0YW5kYWxvbmUnO1xuXG4gICAgcmV0dXJuIHRoaXMuX21vbnRoc1trZXldW2dldE1vbnRoKGRhdGUsIGlzVVRDKV07XG4gIH1cblxuICBtb250aHNTaG9ydCgpOiBzdHJpbmdbXTtcbiAgbW9udGhzU2hvcnQoZGF0ZT86IERhdGUsIGZvcm1hdD86IHN0cmluZywgaXNVVEM/OiBib29sZWFuKTogc3RyaW5nO1xuICBtb250aHNTaG9ydChkYXRlPzogRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBpc1VUQyA9IGZhbHNlKTogc3RyaW5nIHwgc3RyaW5nW10ge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIGlzQXJyYXk8c3RyaW5nPih0aGlzLl9tb250aHNTaG9ydClcbiAgICAgICAgPyB0aGlzLl9tb250aHNTaG9ydFxuICAgICAgICA6IHRoaXMuX21vbnRoc1Nob3J0LnN0YW5kYWxvbmU7XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyYXk8c3RyaW5nPih0aGlzLl9tb250aHNTaG9ydCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9tb250aHNTaG9ydFtnZXRNb250aChkYXRlLCBpc1VUQyldO1xuICAgIH1cbiAgICBjb25zdCBrZXkgPSBNT05USFNfSU5fRk9STUFULnRlc3QoZm9ybWF0KSA/ICdmb3JtYXQnIDogJ3N0YW5kYWxvbmUnO1xuXG4gICAgcmV0dXJuIHRoaXMuX21vbnRoc1Nob3J0W2tleV1bZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgfVxuXG4gIG1vbnRoc1BhcnNlKG1vbnRoTmFtZTogc3RyaW5nLCBmb3JtYXQ/OiBzdHJpbmcsIHN0cmljdD86IGJvb2xlYW4pOiBudW1iZXIge1xuICAgIGxldCBkYXRlO1xuICAgIGxldCByZWdleDtcblxuICAgIGlmICh0aGlzLl9tb250aHNQYXJzZUV4YWN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVNb250aFN0cmljdFBhcnNlKG1vbnRoTmFtZSwgZm9ybWF0LCBzdHJpY3QpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fbW9udGhzUGFyc2UpIHtcbiAgICAgIHRoaXMuX21vbnRoc1BhcnNlID0gW107XG4gICAgICB0aGlzLl9sb25nTW9udGhzUGFyc2UgPSBbXTtcbiAgICAgIHRoaXMuX3Nob3J0TW9udGhzUGFyc2UgPSBbXTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBhZGQgc29ydGluZ1xuICAgIC8vIFNvcnRpbmcgbWFrZXMgc3VyZSBpZiBvbmUgbW9udGggKG9yIGFiYnIpIGlzIGEgcHJlZml4IG9mIGFub3RoZXJcbiAgICAvLyBzZWUgc29ydGluZyBpbiBjb21wdXRlTW9udGhzUGFyc2VcbiAgICBsZXQgaTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgMTI7IGkrKykge1xuICAgICAgLy8gbWFrZSB0aGUgcmVnZXggaWYgd2UgZG9uJ3QgaGF2ZSBpdCBhbHJlYWR5XG4gICAgICBkYXRlID0gbmV3IERhdGUoRGF0ZS5VVEMoMjAwMCwgaSkpO1xuICAgICAgaWYgKHN0cmljdCAmJiAhdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldKSB7XG4gICAgICAgIGNvbnN0IF9tb250aHMgPSB0aGlzLm1vbnRocyhkYXRlLCAnJywgdHJ1ZSkucmVwbGFjZSgnLicsICcnKTtcbiAgICAgICAgY29uc3QgX3Nob3J0TW9udGhzID0gdGhpcy5tb250aHNTaG9ydChkYXRlLCAnJywgdHJ1ZSkucmVwbGFjZSgnLicsICcnKTtcbiAgICAgICAgdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldID0gbmV3IFJlZ0V4cChgXiR7X21vbnRoc30kYCwgJ2knKTtcbiAgICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoYF4ke19zaG9ydE1vbnRoc30kYCwgJ2knKTtcbiAgICAgIH1cbiAgICAgIGlmICghc3RyaWN0ICYmICF0aGlzLl9tb250aHNQYXJzZVtpXSkge1xuICAgICAgICByZWdleCA9IGBeJHt0aGlzLm1vbnRocyhkYXRlLCAnJywgdHJ1ZSl9fF4ke3RoaXMubW9udGhzU2hvcnQoZGF0ZSwgJycsIHRydWUpfWA7XG4gICAgICAgIHRoaXMuX21vbnRoc1BhcnNlW2ldID0gbmV3IFJlZ0V4cChyZWdleC5yZXBsYWNlKCcuJywgJycpLCAnaScpO1xuICAgICAgfVxuICAgICAgLy8gdGVzdGluZyB0aGUgcmVnZXhcbiAgICAgIGlmIChzdHJpY3QgJiYgZm9ybWF0ID09PSAnTU1NTScgJiYgKHRoaXMuX2xvbmdNb250aHNQYXJzZVtpXSBhcyBSZWdFeHApLnRlc3QobW9udGhOYW1lKSkge1xuICAgICAgICByZXR1cm4gaTtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0cmljdCAmJiBmb3JtYXQgPT09ICdNTU0nICYmICh0aGlzLl9zaG9ydE1vbnRoc1BhcnNlW2ldIGFzIFJlZ0V4cCkudGVzdChtb250aE5hbWUpKSB7XG4gICAgICAgIHJldHVybiBpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXN0cmljdCAmJiB0aGlzLl9tb250aHNQYXJzZVtpXS50ZXN0KG1vbnRoTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbW9udGhzUmVnZXgoaXNTdHJpY3Q6IGJvb2xlYW4pOiBSZWdFeHAge1xuICAgIGlmICh0aGlzLl9tb250aHNQYXJzZUV4YWN0KSB7XG4gICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ19tb250aHNSZWdleCcpKSB7XG4gICAgICAgIHRoaXMuY29tcHV0ZU1vbnRoc1BhcnNlKCk7XG4gICAgICB9XG4gICAgICBpZiAoaXNTdHJpY3QpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoc1N0cmljdFJlZ2V4O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5fbW9udGhzUmVnZXg7XG4gICAgfVxuXG4gICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfbW9udGhzUmVnZXgnKSkge1xuICAgICAgdGhpcy5fbW9udGhzUmVnZXggPSBkZWZhdWx0TW9udGhzUmVnZXg7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX21vbnRoc1N0cmljdFJlZ2V4ICYmIGlzU3RyaWN0ID9cbiAgICAgIHRoaXMuX21vbnRoc1N0cmljdFJlZ2V4IDogdGhpcy5fbW9udGhzUmVnZXg7XG4gIH1cblxuICBtb250aHNTaG9ydFJlZ2V4KGlzU3RyaWN0OiBib29sZWFuKTogUmVnRXhwIHtcbiAgICBpZiAodGhpcy5fbW9udGhzUGFyc2VFeGFjdCkge1xuICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfbW9udGhzUmVnZXgnKSkge1xuICAgICAgICB0aGlzLmNvbXB1dGVNb250aHNQYXJzZSgpO1xuICAgICAgfVxuICAgICAgaWYgKGlzU3RyaWN0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb250aHNTaG9ydFN0cmljdFJlZ2V4O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5fbW9udGhzU2hvcnRSZWdleDtcbiAgICB9XG4gICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfbW9udGhzU2hvcnRSZWdleCcpKSB7XG4gICAgICB0aGlzLl9tb250aHNTaG9ydFJlZ2V4ID0gZGVmYXVsdE1vbnRoc1Nob3J0UmVnZXg7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX21vbnRoc1Nob3J0U3RyaWN0UmVnZXggJiYgaXNTdHJpY3QgP1xuICAgICAgdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleCA6IHRoaXMuX21vbnRoc1Nob3J0UmVnZXg7XG4gIH1cblxuICAvKiogV2VlayAqL1xuICB3ZWVrKGRhdGU6IERhdGUsIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHdlZWtPZlllYXIoZGF0ZSwgdGhpcy5fd2Vlay5kb3csIHRoaXMuX3dlZWsuZG95LCBpc1VUQykud2VlaztcbiAgfVxuXG4gIGZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3dlZWsuZG93O1xuICB9XG5cbiAgZmlyc3REYXlPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fd2Vlay5kb3k7XG4gIH1cblxuICAvKiogRGF5IG9mIFdlZWsgKi9cbiAgd2Vla2RheXMoKTogc3RyaW5nW107XG4gIHdlZWtkYXlzKGRhdGU6IERhdGUsIGZvcm1hdD86IHN0cmluZywgaXNVVEM/OiBib29sZWFuKTogc3RyaW5nO1xuICB3ZWVrZGF5cyhkYXRlPzogRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gaXNBcnJheTxzdHJpbmc+KHRoaXMuX3dlZWtkYXlzKVxuICAgICAgICA/IHRoaXMuX3dlZWtkYXlzXG4gICAgICAgIDogdGhpcy5fd2Vla2RheXMuc3RhbmRhbG9uZTtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheTxzdHJpbmc+KHRoaXMuX3dlZWtkYXlzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzW2dldERheShkYXRlLCBpc1VUQyldO1xuICAgIH1cblxuICAgIGNvbnN0IF9rZXkgPSB0aGlzLl93ZWVrZGF5cy5pc0Zvcm1hdC50ZXN0KGZvcm1hdClcbiAgICAgID8gJ2Zvcm1hdCdcbiAgICAgIDogJ3N0YW5kYWxvbmUnO1xuXG4gICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzW19rZXldW2dldERheShkYXRlLCBpc1VUQyldO1xuICB9XG5cbiAgd2Vla2RheXNNaW4oKTogc3RyaW5nW107XG4gIHdlZWtkYXlzTWluKGRhdGU6IERhdGUsIGZvcm1hdD86IHN0cmluZywgaXNVVEM/OiBib29sZWFuKTogc3RyaW5nO1xuICB3ZWVrZGF5c01pbihkYXRlPzogRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGRhdGUgPyB0aGlzLl93ZWVrZGF5c01pbltnZXREYXkoZGF0ZSwgaXNVVEMpXSA6IHRoaXMuX3dlZWtkYXlzTWluO1xuICB9XG5cbiAgd2Vla2RheXNTaG9ydCgpOiBzdHJpbmdbXTtcbiAgd2Vla2RheXNTaG9ydChkYXRlOiBEYXRlLCBmb3JtYXQ/OiBzdHJpbmcsIGlzVVRDPzogYm9vbGVhbik6IHN0cmluZztcbiAgd2Vla2RheXNTaG9ydChkYXRlPzogRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGRhdGUgPyB0aGlzLl93ZWVrZGF5c1Nob3J0W2dldERheShkYXRlLCBpc1VUQyldIDogdGhpcy5fd2Vla2RheXNTaG9ydDtcbiAgfVxuXG5cbiAgLy8gcHJvdG8ud2Vla2RheXNQYXJzZSAgPSAgICAgICAgbG9jYWxlV2Vla2RheXNQYXJzZTtcbiAgd2Vla2RheXNQYXJzZSh3ZWVrZGF5TmFtZT86IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nLCBzdHJpY3Q/OiBib29sZWFuKTogbnVtYmVyIHtcbiAgICBsZXQgaTtcbiAgICBsZXQgcmVnZXg7XG5cbiAgICBpZiAodGhpcy5fd2Vla2RheXNQYXJzZUV4YWN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVXZWVrU3RyaWN0UGFyc2Uod2Vla2RheU5hbWUsIGZvcm1hdCwgc3RyaWN0KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX3dlZWtkYXlzUGFyc2UpIHtcbiAgICAgIHRoaXMuX3dlZWtkYXlzUGFyc2UgPSBbXTtcbiAgICAgIHRoaXMuX21pbldlZWtkYXlzUGFyc2UgPSBbXTtcbiAgICAgIHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZSA9IFtdO1xuICAgICAgdGhpcy5fZnVsbFdlZWtkYXlzUGFyc2UgPSBbXTtcbiAgICB9XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICAvLyBtYWtlIHRoZSByZWdleCBpZiB3ZSBkb24ndCBoYXZlIGl0IGFscmVhZHlcbiAgICAgIC8vIGZpeDogaGVyZSBpcyB0aGUgaXNzdWVcbiAgICAgIGNvbnN0IGRhdGUgPSBzZXREYXlPZldlZWsobmV3IERhdGUoRGF0ZS5VVEMoMjAwMCwgMSkpLCBpLCBudWxsLCB0cnVlKTtcbiAgICAgIGlmIChzdHJpY3QgJiYgIXRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlW2ldKSB7XG4gICAgICAgIHRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlW2ldID0gbmV3IFJlZ0V4cChgXiR7dGhpcy53ZWVrZGF5cyhkYXRlLCAnJywgdHJ1ZSkucmVwbGFjZSgnLicsICdcXC4/Jyl9JGAsICdpJyk7XG4gICAgICAgIHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoYF4ke3RoaXMud2Vla2RheXNTaG9ydChkYXRlLCAnJywgdHJ1ZSkucmVwbGFjZSgnLicsICdcXC4/Jyl9JGAsICdpJyk7XG4gICAgICAgIHRoaXMuX21pbldlZWtkYXlzUGFyc2VbaV0gPSBuZXcgUmVnRXhwKGBeJHt0aGlzLndlZWtkYXlzTWluKGRhdGUsICcnLCB0cnVlKS5yZXBsYWNlKCcuJywgJ1xcLj8nKX0kYCwgJ2knKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5fd2Vla2RheXNQYXJzZVtpXSkge1xuICAgICAgICByZWdleCA9IGBeJHt0aGlzLndlZWtkYXlzKGRhdGUsICcnLCB0cnVlKX18XiR7dGhpcy53ZWVrZGF5c1Nob3J0KGRhdGUsICcnLCB0cnVlKX18XiR7dGhpcy53ZWVrZGF5c01pbihkYXRlLCAnJywgdHJ1ZSl9YDtcbiAgICAgICAgdGhpcy5fd2Vla2RheXNQYXJzZVtpXSA9IG5ldyBSZWdFeHAocmVnZXgucmVwbGFjZSgnLicsICcnKSwgJ2knKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0FycmF5PFJlZ0V4cD4odGhpcy5fZnVsbFdlZWtkYXlzUGFyc2UpXG4gICAgICAgIHx8ICFpc0FycmF5PFJlZ0V4cD4odGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlKVxuICAgICAgICB8fCAhaXNBcnJheTxSZWdFeHA+KHRoaXMuX21pbldlZWtkYXlzUGFyc2UpXG4gICAgICAgIHx8ICFpc0FycmF5PFJlZ0V4cD4odGhpcy5fd2Vla2RheXNQYXJzZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyB0ZXN0aW5nIHRoZSByZWdleFxuICAgICAgaWYgKHN0cmljdCAmJiBmb3JtYXQgPT09ICdkZGRkJyAmJiB0aGlzLl9mdWxsV2Vla2RheXNQYXJzZVtpXS50ZXN0KHdlZWtkYXlOYW1lKSkge1xuICAgICAgICByZXR1cm4gaTtcbiAgICAgIH0gZWxzZSBpZiAoc3RyaWN0ICYmIGZvcm1hdCA9PT0gJ2RkZCcgJiYgdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlW2ldLnRlc3Qod2Vla2RheU5hbWUpKSB7XG4gICAgICAgIHJldHVybiBpO1xuICAgICAgfSBlbHNlIGlmIChzdHJpY3QgJiYgZm9ybWF0ID09PSAnZGQnICYmIHRoaXMuX21pbldlZWtkYXlzUGFyc2VbaV0udGVzdCh3ZWVrZGF5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9IGVsc2UgaWYgKCFzdHJpY3QgJiYgdGhpcy5fd2Vla2RheXNQYXJzZVtpXS50ZXN0KHdlZWtkYXlOYW1lKSkge1xuICAgICAgICByZXR1cm4gaTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBwcm90by53ZWVrZGF5c1JlZ2V4ICAgICAgID0gICAgICAgIHdlZWtkYXlzUmVnZXg7XG4gIHdlZWtkYXlzUmVnZXgoaXNTdHJpY3Q6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fd2Vla2RheXNQYXJzZUV4YWN0KSB7XG4gICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ193ZWVrZGF5c1JlZ2V4JykpIHtcbiAgICAgICAgdGhpcy5jb21wdXRlV2Vla2RheXNQYXJzZSgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNTdHJpY3QpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzU3RyaWN0UmVnZXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2Vla2RheXNSZWdleDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfd2Vla2RheXNSZWdleCcpKSB7XG4gICAgICAgIHRoaXMuX3dlZWtkYXlzUmVnZXggPSBtYXRjaFdvcmQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1N0cmljdFJlZ2V4ICYmIGlzU3RyaWN0ID9cbiAgICAgICAgdGhpcy5fd2Vla2RheXNTdHJpY3RSZWdleCA6IHRoaXMuX3dlZWtkYXlzUmVnZXg7XG4gICAgfVxuICB9XG5cbiAgLy8gcHJvdG8ud2Vla2RheXNTaG9ydFJlZ2V4ICA9ICAgICAgICB3ZWVrZGF5c1Nob3J0UmVnZXg7XG4gIC8vIHByb3RvLndlZWtkYXlzTWluUmVnZXggICAgPSAgICAgICAgd2Vla2RheXNNaW5SZWdleDtcblxuXG4gIHdlZWtkYXlzU2hvcnRSZWdleChpc1N0cmljdD86IGJvb2xlYW4pOiBSZWdFeHAge1xuICAgIGlmICh0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3QpIHtcbiAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX3dlZWtkYXlzUmVnZXgnKSkge1xuICAgICAgICB0aGlzLmNvbXB1dGVXZWVrZGF5c1BhcnNlKCk7XG4gICAgICB9XG4gICAgICBpZiAoaXNTdHJpY3QpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1Nob3J0UmVnZXg7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX3dlZWtkYXlzU2hvcnRSZWdleCcpKSB7XG4gICAgICAgIHRoaXMuX3dlZWtkYXlzU2hvcnRSZWdleCA9IG1hdGNoV29yZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleCAmJiBpc1N0cmljdCA/XG4gICAgICAgIHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleCA6IHRoaXMuX3dlZWtkYXlzU2hvcnRSZWdleDtcbiAgICB9XG4gIH1cblxuICB3ZWVrZGF5c01pblJlZ2V4KGlzU3RyaWN0PzogYm9vbGVhbik6IFJlZ0V4cCB7XG4gICAgaWYgKHRoaXMuX3dlZWtkYXlzUGFyc2VFeGFjdCkge1xuICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfd2Vla2RheXNSZWdleCcpKSB7XG4gICAgICAgIHRoaXMuY29tcHV0ZVdlZWtkYXlzUGFyc2UoKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1N0cmljdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2Vla2RheXNNaW5TdHJpY3RSZWdleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c01pblJlZ2V4O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ193ZWVrZGF5c01pblJlZ2V4JykpIHtcbiAgICAgICAgdGhpcy5fd2Vla2RheXNNaW5SZWdleCA9IG1hdGNoV29yZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzTWluU3RyaWN0UmVnZXggJiYgaXNTdHJpY3QgP1xuICAgICAgICB0aGlzLl93ZWVrZGF5c01pblN0cmljdFJlZ2V4IDogdGhpcy5fd2Vla2RheXNNaW5SZWdleDtcbiAgICB9XG4gIH1cblxuICBpc1BNKGlucHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBJRTggUXVpcmtzIE1vZGUgJiBJRTcgU3RhbmRhcmRzIE1vZGUgZG8gbm90IGFsbG93IGFjY2Vzc2luZyBzdHJpbmdzIGxpa2UgYXJyYXlzXG4gICAgLy8gVXNpbmcgY2hhckF0IHNob3VsZCBiZSBtb3JlIGNvbXBhdGlibGUuXG4gICAgcmV0dXJuIGlucHV0LnRvTG93ZXJDYXNlKCkuY2hhckF0KDApID09PSAncCc7XG4gIH1cblxuICBtZXJpZGllbShob3VyczogbnVtYmVyLCBtaW51dGVzOiBudW1iZXIsIGlzTG93ZXI6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGlmIChob3VycyA+IDExKSB7XG4gICAgICByZXR1cm4gaXNMb3dlciA/ICdwbScgOiAnUE0nO1xuICAgIH1cblxuICAgIHJldHVybiBpc0xvd2VyID8gJ2FtJyA6ICdBTSc7XG4gIH1cblxuICBmb3JtYXRMb25nRGF0ZShrZXk6IHN0cmluZykge1xuICAgIHRoaXMuX2xvbmdEYXRlRm9ybWF0ID0gdGhpcy5fbG9uZ0RhdGVGb3JtYXQgPyB0aGlzLl9sb25nRGF0ZUZvcm1hdCA6IGRlZmF1bHRMb25nRGF0ZUZvcm1hdDtcbiAgICBjb25zdCBmb3JtYXQgPSB0aGlzLl9sb25nRGF0ZUZvcm1hdFtrZXldO1xuICAgIGNvbnN0IGZvcm1hdFVwcGVyID0gdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5LnRvVXBwZXJDYXNlKCldO1xuXG4gICAgaWYgKGZvcm1hdCB8fCAhZm9ybWF0VXBwZXIpIHtcbiAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgdGhpcy5fbG9uZ0RhdGVGb3JtYXRbXG4gICAgICBrZXlcbiAgICAgIF0gPSBmb3JtYXRVcHBlci5yZXBsYWNlKC9NTU1NfE1NfEREfGRkZGQvZywgKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gdmFsLnNsaWNlKDEpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2xvbmdEYXRlRm9ybWF0W2tleV07XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU1vbnRoU3RyaWN0UGFyc2UobW9udGhOYW1lOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nLCBzdHJpY3Q/OiBib29sZWFuKSB7XG4gICAgY29uc3QgbGxjID0gbW9udGhOYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgbGV0IGk7XG4gICAgbGV0IGlpO1xuICAgIGxldCBtb207XG4gICAgaWYgKCF0aGlzLl9tb250aHNQYXJzZSkge1xuICAgICAgLy8gdGhpcyBpcyBub3QgdXNlZFxuICAgICAgdGhpcy5fbW9udGhzUGFyc2UgPSBbXTtcbiAgICAgIHRoaXMuX2xvbmdNb250aHNQYXJzZSA9IFtdO1xuICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZSA9IFtdO1xuICAgICAgZm9yIChpID0gMDsgaSA8IDEyOyArK2kpIHtcbiAgICAgICAgbW9tID0gbmV3IERhdGUoMjAwMCwgaSk7XG4gICAgICAgIHRoaXMuX3Nob3J0TW9udGhzUGFyc2VbaV0gPSB0aGlzLm1vbnRoc1Nob3J0KG1vbSwgJycpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMuX2xvbmdNb250aHNQYXJzZVtpXSA9IHRoaXMubW9udGhzKG1vbSwgJycpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0cmljdCkge1xuICAgICAgaWYgKGZvcm1hdCA9PT0gJ01NTScpIHtcbiAgICAgICAgaWkgPSAodGhpcy5fc2hvcnRNb250aHNQYXJzZSBhcyBzdHJpbmdbXSkuaW5kZXhPZihsbGMpO1xuXG4gICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7XG4gICAgICB9XG4gICAgICBpaSA9ICh0aGlzLl9sb25nTW9udGhzUGFyc2UgYXMgc3RyaW5nW10pLmluZGV4T2YobGxjKTtcblxuICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0ID09PSAnTU1NJykge1xuICAgICAgaWkgPSAodGhpcy5fc2hvcnRNb250aHNQYXJzZSBhcyBzdHJpbmdbXSkuaW5kZXhPZihsbGMpO1xuICAgICAgaWYgKGlpICE9PSAtMSkge1xuICAgICAgICByZXR1cm4gaWk7XG4gICAgICB9XG5cbiAgICAgIGlpID0gKHRoaXMuX2xvbmdNb250aHNQYXJzZSBhcyBzdHJpbmdbXSkuaW5kZXhPZihsbGMpO1xuXG4gICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsO1xuICAgIH1cblxuICAgIGlpID0gKHRoaXMuX2xvbmdNb250aHNQYXJzZSBhcyBzdHJpbmdbXSkuaW5kZXhPZihsbGMpO1xuICAgIGlmIChpaSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiBpaTtcbiAgICB9XG4gICAgaWkgPSAodGhpcy5fc2hvcnRNb250aHNQYXJzZSBhcyBzdHJpbmdbXSkuaW5kZXhPZihsbGMpO1xuXG4gICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2Vla1N0cmljdFBhcnNlKHdlZWtkYXlOYW1lOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nLCBzdHJpY3Q6IGJvb2xlYW4pOiBudW1iZXIge1xuICAgIGxldCBpaTtcbiAgICBjb25zdCBsbGMgPSB3ZWVrZGF5TmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGlmICghdGhpcy5fd2Vla2RheXNQYXJzZSkge1xuICAgICAgdGhpcy5fd2Vla2RheXNQYXJzZSA9IFtdO1xuICAgICAgdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlID0gW107XG4gICAgICB0aGlzLl9taW5XZWVrZGF5c1BhcnNlID0gW107XG5cbiAgICAgIGxldCBpO1xuICAgICAgZm9yIChpID0gMDsgaSA8IDc7ICsraSkge1xuICAgICAgICBjb25zdCBkYXRlID0gc2V0RGF5T2ZXZWVrKG5ldyBEYXRlKERhdGUuVVRDKDIwMDAsIDEpKSwgaSwgbnVsbCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX21pbldlZWtkYXlzUGFyc2VbaV0gPSB0aGlzLndlZWtkYXlzTWluKGRhdGUpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZVtpXSA9IHRoaXMud2Vla2RheXNTaG9ydChkYXRlKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICB0aGlzLl93ZWVrZGF5c1BhcnNlW2ldID0gdGhpcy53ZWVrZGF5cyhkYXRlLCAnJykudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWlzQXJyYXk8c3RyaW5nPih0aGlzLl93ZWVrZGF5c1BhcnNlKVxuICAgICAgfHwgIWlzQXJyYXk8c3RyaW5nPih0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2UpXG4gICAgICB8fCAhaXNBcnJheTxzdHJpbmc+KHRoaXMuX21pbldlZWtkYXlzUGFyc2UpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHN0cmljdCkge1xuICAgICAgaWYgKGZvcm1hdCA9PT0gJ2RkZGQnKSB7XG4gICAgICAgIGlpID0gdGhpcy5fd2Vla2RheXNQYXJzZS5pbmRleE9mKGxsYyk7XG5cbiAgICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnZGRkJykge1xuICAgICAgICBpaSA9IHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZS5pbmRleE9mKGxsYyk7XG5cbiAgICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlpID0gdGhpcy5fbWluV2Vla2RheXNQYXJzZS5pbmRleE9mKGxsYyk7XG5cbiAgICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZvcm1hdCA9PT0gJ2RkZGQnKSB7XG4gICAgICAgIGlpID0gdGhpcy5fd2Vla2RheXNQYXJzZS5pbmRleE9mKGxsYyk7XG4gICAgICAgIGlmIChpaSAhPT0gLTEpIHtcbiAgICAgICAgICByZXR1cm4gaWk7XG4gICAgICAgIH1cbiAgICAgICAgaWkgPSB0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2UuaW5kZXhPZihsbGMpO1xuICAgICAgICBpZiAoaWkgIT09IC0xKSB7XG4gICAgICAgICAgcmV0dXJuIGlpO1xuICAgICAgICB9XG4gICAgICAgIGlpID0gdGhpcy5fbWluV2Vla2RheXNQYXJzZS5pbmRleE9mKGxsYyk7XG5cbiAgICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnZGRkJykge1xuICAgICAgICBpaSA9IHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZS5pbmRleE9mKGxsYyk7XG4gICAgICAgIGlmIChpaSAhPT0gLTEpIHtcbiAgICAgICAgICByZXR1cm4gaWk7XG4gICAgICAgIH1cbiAgICAgICAgaWkgPSB0aGlzLl93ZWVrZGF5c1BhcnNlLmluZGV4T2YobGxjKTtcbiAgICAgICAgaWYgKGlpICE9PSAtMSkge1xuICAgICAgICAgIHJldHVybiBpaTtcbiAgICAgICAgfVxuICAgICAgICBpaSA9IHRoaXMuX21pbldlZWtkYXlzUGFyc2UuaW5kZXhPZihsbGMpO1xuXG4gICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpaSA9IHRoaXMuX21pbldlZWtkYXlzUGFyc2UuaW5kZXhPZihsbGMpO1xuICAgICAgICBpZiAoaWkgIT09IC0xKSB7XG4gICAgICAgICAgcmV0dXJuIGlpO1xuICAgICAgICB9XG4gICAgICAgIGlpID0gdGhpcy5fd2Vla2RheXNQYXJzZS5pbmRleE9mKGxsYyk7XG4gICAgICAgIGlmIChpaSAhPT0gLTEpIHtcbiAgICAgICAgICByZXR1cm4gaWk7XG4gICAgICAgIH1cbiAgICAgICAgaWkgPSB0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2UuaW5kZXhPZihsbGMpO1xuXG4gICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlTW9udGhzUGFyc2UoKSB7XG4gICAgY29uc3Qgc2hvcnRQaWVjZXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgbG9uZ1BpZWNlczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBtaXhlZFBpZWNlczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgZGF0ZTtcblxuICAgIGxldCBpO1xuICAgIGZvciAoaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICAvLyBtYWtlIHRoZSByZWdleCBpZiB3ZSBkb24ndCBoYXZlIGl0IGFscmVhZHlcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZSgyMDAwLCBpKTtcbiAgICAgIHNob3J0UGllY2VzLnB1c2godGhpcy5tb250aHNTaG9ydChkYXRlLCAnJykpO1xuICAgICAgbG9uZ1BpZWNlcy5wdXNoKHRoaXMubW9udGhzKGRhdGUsICcnKSk7XG4gICAgICBtaXhlZFBpZWNlcy5wdXNoKHRoaXMubW9udGhzKGRhdGUsICcnKSk7XG4gICAgICBtaXhlZFBpZWNlcy5wdXNoKHRoaXMubW9udGhzU2hvcnQoZGF0ZSwgJycpKTtcbiAgICB9XG4gICAgLy8gU29ydGluZyBtYWtlcyBzdXJlIGlmIG9uZSBtb250aCAob3IgYWJicikgaXMgYSBwcmVmaXggb2YgYW5vdGhlciBpdFxuICAgIC8vIHdpbGwgbWF0Y2ggdGhlIGxvbmdlciBwaWVjZS5cbiAgICBzaG9ydFBpZWNlcy5zb3J0KGNtcExlblJldik7XG4gICAgbG9uZ1BpZWNlcy5zb3J0KGNtcExlblJldik7XG4gICAgbWl4ZWRQaWVjZXMuc29ydChjbXBMZW5SZXYpO1xuICAgIGZvciAoaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICBzaG9ydFBpZWNlc1tpXSA9IHJlZ2V4RXNjYXBlKHNob3J0UGllY2VzW2ldKTtcbiAgICAgIGxvbmdQaWVjZXNbaV0gPSByZWdleEVzY2FwZShsb25nUGllY2VzW2ldKTtcbiAgICB9XG4gICAgZm9yIChpID0gMDsgaSA8IDI0OyBpKyspIHtcbiAgICAgIG1peGVkUGllY2VzW2ldID0gcmVnZXhFc2NhcGUobWl4ZWRQaWVjZXNbaV0pO1xuICAgIH1cblxuICAgIHRoaXMuX21vbnRoc1JlZ2V4ID0gbmV3IFJlZ0V4cChgXigke21peGVkUGllY2VzLmpvaW4oJ3wnKX0pYCwgJ2knKTtcbiAgICB0aGlzLl9tb250aHNTaG9ydFJlZ2V4ID0gdGhpcy5fbW9udGhzUmVnZXg7XG4gICAgdGhpcy5fbW9udGhzU3RyaWN0UmVnZXggPSBuZXcgUmVnRXhwKGBeKCR7bG9uZ1BpZWNlcy5qb2luKCd8Jyl9KWAsICdpJyk7XG4gICAgdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoYF4oJHtzaG9ydFBpZWNlcy5qb2luKCd8Jyl9KWAsICdpJyk7XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVXZWVrZGF5c1BhcnNlKCkge1xuICAgIGNvbnN0IG1pblBpZWNlcyA9IFtdO1xuICAgIGNvbnN0IHNob3J0UGllY2VzID0gW107XG4gICAgY29uc3QgbG9uZ1BpZWNlcyA9IFtdO1xuICAgIGNvbnN0IG1peGVkUGllY2VzID0gW107XG5cbiAgICBsZXQgaTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICAvLyBtYWtlIHRoZSByZWdleCBpZiB3ZSBkb24ndCBoYXZlIGl0IGFscmVhZHlcbiAgICAgIC8vIGxldCBtb20gPSBjcmVhdGVVVEMoWzIwMDAsIDFdKS5kYXkoaSk7XG4gICAgICBjb25zdCBkYXRlID0gc2V0RGF5T2ZXZWVrKG5ldyBEYXRlKERhdGUuVVRDKDIwMDAsIDEpKSwgaSwgbnVsbCwgdHJ1ZSk7XG4gICAgICBjb25zdCBtaW5wID0gdGhpcy53ZWVrZGF5c01pbihkYXRlKTtcbiAgICAgIGNvbnN0IHNob3J0cCA9IHRoaXMud2Vla2RheXNTaG9ydChkYXRlKTtcbiAgICAgIGNvbnN0IGxvbmdwID0gdGhpcy53ZWVrZGF5cyhkYXRlKTtcbiAgICAgIG1pblBpZWNlcy5wdXNoKG1pbnApO1xuICAgICAgc2hvcnRQaWVjZXMucHVzaChzaG9ydHApO1xuICAgICAgbG9uZ1BpZWNlcy5wdXNoKGxvbmdwKTtcbiAgICAgIG1peGVkUGllY2VzLnB1c2gobWlucCk7XG4gICAgICBtaXhlZFBpZWNlcy5wdXNoKHNob3J0cCk7XG4gICAgICBtaXhlZFBpZWNlcy5wdXNoKGxvbmdwKTtcbiAgICB9XG4gICAgLy8gU29ydGluZyBtYWtlcyBzdXJlIGlmIG9uZSB3ZWVrZGF5IChvciBhYmJyKSBpcyBhIHByZWZpeCBvZiBhbm90aGVyIGl0XG4gICAgLy8gd2lsbCBtYXRjaCB0aGUgbG9uZ2VyIHBpZWNlLlxuICAgIG1pblBpZWNlcy5zb3J0KGNtcExlblJldik7XG4gICAgc2hvcnRQaWVjZXMuc29ydChjbXBMZW5SZXYpO1xuICAgIGxvbmdQaWVjZXMuc29ydChjbXBMZW5SZXYpO1xuICAgIG1peGVkUGllY2VzLnNvcnQoY21wTGVuUmV2KTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICBzaG9ydFBpZWNlc1tpXSA9IHJlZ2V4RXNjYXBlKHNob3J0UGllY2VzW2ldKTtcbiAgICAgIGxvbmdQaWVjZXNbaV0gPSByZWdleEVzY2FwZShsb25nUGllY2VzW2ldKTtcbiAgICAgIG1peGVkUGllY2VzW2ldID0gcmVnZXhFc2NhcGUobWl4ZWRQaWVjZXNbaV0pO1xuICAgIH1cblxuICAgIHRoaXMuX3dlZWtkYXlzUmVnZXggPSBuZXcgUmVnRXhwKGBeKCR7bWl4ZWRQaWVjZXMuam9pbignfCcpfSlgLCAnaScpO1xuICAgIHRoaXMuX3dlZWtkYXlzU2hvcnRSZWdleCA9IHRoaXMuX3dlZWtkYXlzUmVnZXg7XG4gICAgdGhpcy5fd2Vla2RheXNNaW5SZWdleCA9IHRoaXMuX3dlZWtkYXlzUmVnZXg7XG5cbiAgICB0aGlzLl93ZWVrZGF5c1N0cmljdFJlZ2V4ID0gbmV3IFJlZ0V4cChgXigke2xvbmdQaWVjZXMuam9pbignfCcpfSlgLCAnaScpO1xuICAgIHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoYF4oJHtzaG9ydFBpZWNlcy5qb2luKCd8Jyl9KWAsICdpJyk7XG4gICAgdGhpcy5fd2Vla2RheXNNaW5TdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoYF4oJHttaW5QaWVjZXMuam9pbignfCcpfSlgLCAnaScpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNtcExlblJldihhOiBzdHJpbmcsIGI6IHN0cmluZyk6IG51bWJlciB7XG4gIHJldHVybiBiLmxlbmd0aCAtIGEubGVuZ3RoO1xufVxuIl19","export const 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9sb2NhbGUvY2FsZW5kYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsUUFBUSxFQUFFLGNBQWM7SUFDeEIsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQUUscUJBQXFCO0lBQy9CLFFBQVEsRUFBRSxHQUFHO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBkZWZhdWx0Q2FsZW5kYXIgPSB7XG4gIHNhbWVEYXk6ICdbVG9kYXkgYXRdIExUJyxcbiAgbmV4dERheTogJ1tUb21vcnJvdyBhdF0gTFQnLFxuICBuZXh0V2VlazogJ2RkZGQgW2F0XSBMVCcsXG4gIGxhc3REYXk6ICdbWWVzdGVyZGF5IGF0XSBMVCcsXG4gIGxhc3RXZWVrOiAnW0xhc3RdIGRkZGQgW2F0XSBMVCcsXG4gIHNhbWVFbHNlOiAnTCdcbn07XG4iXX0=","import { defaultDayOfMonthOrdinalParse, defaultLocaleMonths, defaultLocaleMonthsShort, defaultLocaleWeekdays, defaultLocaleWeekdaysMin, defaultLocaleWeekdaysShort, defaultLongDateFormat, defaultOrdinal } from './locale.class';\nimport { defaultCalendar } from './calendar';\nexport const defaultInvalidDate = 'Invalid date';\nexport const defaultLocaleWeek = {\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};\nexport const defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\nexport const 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};\nexport const baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n week: defaultLocaleWeek,\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n meridiemParse: defaultLocaleMeridiemParse\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLmRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvbG9jYWxlL2xvY2FsZS5kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBRWxFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUM7QUFFakQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7SUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBQyxnRUFBZ0U7Q0FDeEUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGVBQWUsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBNEI7SUFDMUQsTUFBTSxFQUFHLE9BQU87SUFDaEIsSUFBSSxFQUFLLFFBQVE7SUFDakIsQ0FBQyxFQUFJLGVBQWU7SUFDcEIsRUFBRSxFQUFHLFlBQVk7SUFDakIsQ0FBQyxFQUFJLFVBQVU7SUFDZixFQUFFLEVBQUcsWUFBWTtJQUNqQixDQUFDLEVBQUksU0FBUztJQUNkLEVBQUUsRUFBRyxVQUFVO0lBQ2YsQ0FBQyxFQUFJLE9BQU87SUFDWixFQUFFLEVBQUcsU0FBUztJQUNkLENBQUMsRUFBSSxTQUFTO0lBQ2QsRUFBRSxFQUFHLFdBQVc7SUFDaEIsQ0FBQyxFQUFJLFFBQVE7SUFDYixFQUFFLEVBQUcsVUFBVTtDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFlO0lBQ3BDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLGNBQWMsRUFBRSxxQkFBcUI7SUFDckMsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixPQUFPLEVBQUUsY0FBYztJQUN2QixzQkFBc0IsRUFBRSw2QkFBNkI7SUFDckQsWUFBWSxFQUFFLG1CQUFtQjtJQUVqQyxNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLFdBQVcsRUFBRSx3QkFBd0I7SUFFckMsSUFBSSxFQUFFLGlCQUFpQjtJQUV2QixRQUFRLEVBQUUscUJBQXFCO0lBQy9CLFdBQVcsRUFBRSx3QkFBd0I7SUFDckMsYUFBYSxFQUFFLDBCQUEwQjtJQUV6QyxhQUFhLEVBQUUsMEJBQTBCO0NBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBkZWZhdWx0RGF5T2ZNb250aE9yZGluYWxQYXJzZSxcbiAgZGVmYXVsdExvY2FsZU1vbnRocyxcbiAgZGVmYXVsdExvY2FsZU1vbnRoc1Nob3J0LFxuICBkZWZhdWx0TG9jYWxlV2Vla2RheXMsXG4gIGRlZmF1bHRMb2NhbGVXZWVrZGF5c01pbixcbiAgZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQsIGRlZmF1bHRMb25nRGF0ZUZvcm1hdCwgZGVmYXVsdE9yZGluYWwsXG4gIExvY2FsZURhdGFcbn0gZnJvbSAnLi9sb2NhbGUuY2xhc3MnO1xuaW1wb3J0IHsgZGVmYXVsdENhbGVuZGFyIH0gZnJvbSAnLi9jYWxlbmRhcic7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0SW52YWxpZERhdGUgPSAnSW52YWxpZCBkYXRlJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhbGVXZWVrID0ge1xuICBkb3c6IDAsIC8vIFN1bmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICBkb3k6IDYgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gMXN0IGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhbGVNZXJpZGllbVBhcnNlID0gL1thcF1cXC4/bT9cXC4/L2k7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVsYXRpdmVUaW1lOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHtcbiAgZnV0dXJlIDogJ2luICVzJyxcbiAgcGFzdCAgIDogJyVzIGFnbycsXG4gIHMgIDogJ2EgZmV3IHNlY29uZHMnLFxuICBzcyA6ICclZCBzZWNvbmRzJyxcbiAgbSAgOiAnYSBtaW51dGUnLFxuICBtbSA6ICclZCBtaW51dGVzJyxcbiAgaCAgOiAnYW4gaG91cicsXG4gIGhoIDogJyVkIGhvdXJzJyxcbiAgZCAgOiAnYSBkYXknLFxuICBkZCA6ICclZCBkYXlzJyxcbiAgTSAgOiAnYSBtb250aCcsXG4gIE1NIDogJyVkIG1vbnRocycsXG4gIHkgIDogJ2EgeWVhcicsXG4gIHl5IDogJyVkIHllYXJzJ1xufTtcblxuZXhwb3J0IGNvbnN0IGJhc2VDb25maWc6IExvY2FsZURhdGEgPSB7XG4gIGNhbGVuZGFyOiBkZWZhdWx0Q2FsZW5kYXIsXG4gIGxvbmdEYXRlRm9ybWF0OiBkZWZhdWx0TG9uZ0RhdGVGb3JtYXQsXG4gIGludmFsaWREYXRlOiBkZWZhdWx0SW52YWxpZERhdGUsXG4gIG9yZGluYWw6IGRlZmF1bHRPcmRpbmFsLFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiBkZWZhdWx0RGF5T2ZNb250aE9yZGluYWxQYXJzZSxcbiAgcmVsYXRpdmVUaW1lOiBkZWZhdWx0UmVsYXRpdmVUaW1lLFxuXG4gIG1vbnRoczogZGVmYXVsdExvY2FsZU1vbnRocyxcbiAgbW9udGhzU2hvcnQ6IGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydCxcblxuICB3ZWVrOiBkZWZhdWx0TG9jYWxlV2VlayxcblxuICB3ZWVrZGF5czogZGVmYXVsdExvY2FsZVdlZWtkYXlzLFxuICB3ZWVrZGF5c01pbjogZGVmYXVsdExvY2FsZVdlZWtkYXlzTWluLFxuICB3ZWVrZGF5c1Nob3J0OiBkZWZhdWx0TG9jYWxlV2Vla2RheXNTaG9ydCxcblxuICBtZXJpZGllbVBhcnNlOiBkZWZhdWx0TG9jYWxlTWVyaWRpZW1QYXJzZVxufTtcbiJdfQ==","// compare two arrays, return the number of differences\nimport { toInt } from './type-checks';\nexport function compareArrays(array1, array2, dontConvert) {\n const len = Math.min(array1.length, array2.length);\n const lengthDiff = Math.abs(array1.length - array2.length);\n let diffs = 0;\n let i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i])\n || (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1hcnJheXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91dGlscy9jb21wYXJlLWFycmF5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0QyxNQUFNLFVBQVUsYUFBYSxDQUFJLE1BQVcsRUFBRSxNQUFXLEVBQUUsV0FBb0I7SUFDN0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLElBQUksQ0FBQyxDQUFDO0lBQ04sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7ZUFDdkMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxLQUFLLEVBQUUsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLEdBQUcsVUFBVSxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wYXJlIHR3byBhcnJheXMsIHJldHVybiB0aGUgbnVtYmVyIG9mIGRpZmZlcmVuY2VzXG5pbXBvcnQgeyB0b0ludCB9IGZyb20gJy4vdHlwZS1jaGVja3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZUFycmF5czxUPihhcnJheTE6IFRbXSwgYXJyYXkyOiBUW10sIGRvbnRDb252ZXJ0OiBib29sZWFuKSB7XG4gIGNvbnN0IGxlbiA9IE1hdGgubWluKGFycmF5MS5sZW5ndGgsIGFycmF5Mi5sZW5ndGgpO1xuICBjb25zdCBsZW5ndGhEaWZmID0gTWF0aC5hYnMoYXJyYXkxLmxlbmd0aCAtIGFycmF5Mi5sZW5ndGgpO1xuICBsZXQgZGlmZnMgPSAwO1xuICBsZXQgaTtcbiAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKChkb250Q29udmVydCAmJiBhcnJheTFbaV0gIT09IGFycmF5MltpXSlcbiAgICAgIHx8ICghZG9udENvbnZlcnQgJiYgdG9JbnQoYXJyYXkxW2ldKSAhPT0gdG9JbnQoYXJyYXkyW2ldKSkpIHtcbiAgICAgIGRpZmZzKys7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpZmZzICsgbGVuZ3RoRGlmZjtcbn1cbiJdfQ==","import { addFormatToken } from '../format/format';\nimport { weekOfYear } from './week-calendar-utils';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { addWeekParseToken } from '../parse/token';\nimport { toInt } from '../utils/type-checks';\nimport { getLocale } from '../locale/locales';\nimport { add } from '../moment/add-subtract';\n// FORMATTING\nexport function initWeek() {\n addFormatToken('w', ['ww', 2, false], 'wo', function (date, opts) {\n return getWeek(date, opts.locale)\n .toString(10);\n });\n addFormatToken('W', ['WW', 2, false], 'Wo', function (date) {\n return getISOWeek(date)\n .toString(10);\n });\n // ALIASES\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n // PRIORITIES\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n // PARSING\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n return config;\n });\n // export function getSetWeek (input) {\n // var week = this.localeData().week(this);\n // return input == null ? week : this.add((input - week) * 7, 'd');\n // }\n}\nexport function setWeek(date, input, locale = getLocale()) {\n const week = getWeek(date, locale);\n return add(date, (input - week) * 7, 'day');\n}\nexport function getWeek(date, locale = getLocale(), isUTC) {\n return locale.week(date, isUTC);\n}\n// export function getSetISOWeek (input) {\n// var week = weekOfYear(this, 1, 4).week;\n// return input == null ? week : this.add((input - week) * 7, 'd');\n// }\nexport function setISOWeek(date, input) {\n const week = getISOWeek(date);\n return add(date, (input - week) * 7, 'day');\n}\nexport function getISOWeek(date, isUTC) {\n return weekOfYear(date, 1, 4, isUTC).week;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL3VuaXRzL3dlZWsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0MsYUFBYTtBQUViLE1BQU0sVUFBVSxRQUFRO0lBQ3RCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksRUFDeEMsVUFBUyxJQUFVLEVBQUUsSUFBMEI7UUFDN0MsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDOUIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FDRixDQUFDO0lBRUYsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUN4QyxVQUFTLElBQVU7UUFDakIsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO2FBQ3BCLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQ0YsQ0FBQztJQUVKLFVBQVU7SUFFUixZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFL0IsYUFBYTtJQUVYLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0IsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVoQyxVQUFVO0lBRVIsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QixhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2QyxhQUFhLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXZDLGlCQUFpQixDQUNmLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQ3RCLFVBQVMsS0FBYSxFQUFFLElBQWlCLEVBQUUsTUFBeUIsRUFBRSxLQUFhO1FBQ2pGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQ0YsQ0FBQztJQUVKLHVDQUF1QztJQUN2Qyw2Q0FBNkM7SUFDN0MscUVBQXFFO0lBQ3JFLElBQUk7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFVLEVBQUUsS0FBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQUU7SUFDckUsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVuQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQVUsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUFFLEVBQUUsS0FBZTtJQUN2RSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRCwwQ0FBMEM7QUFDMUMsNENBQTRDO0FBQzVDLHFFQUFxRTtBQUNyRSxJQUFJO0FBRUosTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFVLEVBQUUsS0FBYTtJQUNsRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFOUIsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFVLEVBQUUsS0FBZTtJQUNwRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEZvcm1hdFRva2VuIH0gZnJvbSAnLi4vZm9ybWF0L2Zvcm1hdCc7XG5pbXBvcnQgeyBMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IHdlZWtPZlllYXIgfSBmcm9tICcuL3dlZWstY2FsZW5kYXItdXRpbHMnO1xuaW1wb3J0IHsgYWRkUmVnZXhUb2tlbiwgbWF0Y2gxdG8yLCBtYXRjaDIgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBhZGRVbml0QWxpYXMgfSBmcm9tICcuL2FsaWFzZXMnO1xuaW1wb3J0IHsgYWRkVW5pdFByaW9yaXR5IH0gZnJvbSAnLi9wcmlvcml0aWVzJztcbmltcG9ydCB7IGFkZFdlZWtQYXJzZVRva2VuIH0gZnJvbSAnLi4vcGFyc2UvdG9rZW4nO1xuaW1wb3J0IHsgdG9JbnQgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBEYXRlRm9ybWF0dGVyT3B0aW9ucywgV2Vla1BhcnNpbmcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4uL2NyZWF0ZS9wYXJzaW5nLnR5cGVzJztcbmltcG9ydCB7IGdldExvY2FsZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGVzJztcbmltcG9ydCB7IGFkZCB9IGZyb20gJy4uL21vbWVudC9hZGQtc3VidHJhY3QnO1xuXG4vLyBGT1JNQVRUSU5HXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0V2VlaygpIHtcbiAgYWRkRm9ybWF0VG9rZW4oJ3cnLCBbJ3d3JywgMiwgZmFsc2VdLCAnd28nLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBnZXRXZWVrKGRhdGUsIG9wdHMubG9jYWxlKVxuICAgICAgICAudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcblxuICBhZGRGb3JtYXRUb2tlbignVycsIFsnV1cnLCAyLCBmYWxzZV0sICdXbycsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gZ2V0SVNPV2VlayhkYXRlKVxuICAgICAgICAudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcblxuLy8gQUxJQVNFU1xuXG4gIGFkZFVuaXRBbGlhcygnd2VlaycsICd3Jyk7XG4gIGFkZFVuaXRBbGlhcygnaXNvV2VlaycsICdXJyk7XG5cbi8vIFBSSU9SSVRJRVNcblxuICBhZGRVbml0UHJpb3JpdHkoJ3dlZWsnLCA1KTtcbiAgYWRkVW5pdFByaW9yaXR5KCdpc29XZWVrJywgNSk7XG5cbi8vIFBBUlNJTkdcblxuICBhZGRSZWdleFRva2VuKCd3JywgbWF0Y2gxdG8yKTtcbiAgYWRkUmVnZXhUb2tlbignd3cnLCBtYXRjaDF0bzIsIG1hdGNoMik7XG4gIGFkZFJlZ2V4VG9rZW4oJ1cnLCBtYXRjaDF0bzIpO1xuICBhZGRSZWdleFRva2VuKCdXVycsIG1hdGNoMXRvMiwgbWF0Y2gyKTtcblxuICBhZGRXZWVrUGFyc2VUb2tlbihcbiAgICBbJ3cnLCAnd3cnLCAnVycsICdXVyddLFxuICAgIGZ1bmN0aW9uKGlucHV0OiBzdHJpbmcsIHdlZWs6IFdlZWtQYXJzaW5nLCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnLCB0b2tlbjogc3RyaW5nKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICAgICAgd2Vla1t0b2tlbi5zdWJzdHIoMCwgMSldID0gdG9JbnQoaW5wdXQpO1xuXG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH1cbiAgKTtcblxuLy8gZXhwb3J0IGZ1bmN0aW9uIGdldFNldFdlZWsgKGlucHV0KSB7XG4vLyAgIHZhciB3ZWVrID0gdGhpcy5sb2NhbGVEYXRhKCkud2Vlayh0aGlzKTtcbi8vICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyB3ZWVrIDogdGhpcy5hZGQoKGlucHV0IC0gd2VlaykgKiA3LCAnZCcpO1xuLy8gfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0V2VlayhkYXRlOiBEYXRlLCBpbnB1dDogbnVtYmVyLCBsb2NhbGUgPSBnZXRMb2NhbGUoKSk6IERhdGUge1xuICBjb25zdCB3ZWVrID0gZ2V0V2VlayhkYXRlLCBsb2NhbGUpO1xuXG4gIHJldHVybiBhZGQoZGF0ZSwgKGlucHV0IC0gd2VlaykgKiA3LCAnZGF5Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRXZWVrKGRhdGU6IERhdGUsIGxvY2FsZSA9IGdldExvY2FsZSgpLCBpc1VUQz86IGJvb2xlYW4pOiBudW1iZXIge1xuICByZXR1cm4gbG9jYWxlLndlZWsoZGF0ZSwgaXNVVEMpO1xufVxuXG4vLyBleHBvcnQgZnVuY3Rpb24gZ2V0U2V0SVNPV2VlayAoaW5wdXQpIHtcbi8vICAgdmFyIHdlZWsgPSB3ZWVrT2ZZZWFyKHRoaXMsIDEsIDQpLndlZWs7XG4vLyAgIHJldHVybiBpbnB1dCA9PSBudWxsID8gd2VlayA6IHRoaXMuYWRkKChpbnB1dCAtIHdlZWspICogNywgJ2QnKTtcbi8vIH1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldElTT1dlZWsoZGF0ZTogRGF0ZSwgaW5wdXQ6IG51bWJlcik6IERhdGUge1xuICBjb25zdCB3ZWVrID0gZ2V0SVNPV2VlayhkYXRlKTtcblxuICByZXR1cm4gYWRkKGRhdGUsIChpbnB1dCAtIHdlZWspICogNywgJ2RheScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SVNPV2VlayhkYXRlOiBEYXRlLCBpc1VUQz86IGJvb2xlYW4pOiBudW1iZXIge1xuICByZXR1cm4gd2Vla09mWWVhcihkYXRlLCAxLCA0LCBpc1VUQykud2Vlaztcbn1cblxuIl19","import { addFormatToken } from '../format/format';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex';\nimport { addWeekParseToken } from '../parse/token';\nimport { toInt } from '../utils/type-checks';\nimport { parseTwoDigitYear } from './year';\nimport { dayOfYearFromWeeks, weekOfYear, weeksInYear } from './week-calendar-utils';\nimport { createUTCDate } from '../create/date-from-array';\nimport { getISOWeek, getWeek } from './week';\nimport { getISODayOfWeek, getLocaleDayOfWeek } from './day-of-week';\nimport { getLocale } from '../locale/locales';\nimport { setDate, setFullYear, setMonth } from '../utils/date-setters';\nimport { getDate, getFullYear, getMonth } from '../utils/date-getters';\n// FORMATTING\nexport function initWeekYear() {\n addFormatToken(null, ['gg', 2, false], null, function (date, opts) {\n // return this.weekYear() % 100;\n return (getWeekYear(date, opts.locale) % 100).toString();\n });\n addFormatToken(null, ['GG', 2, false], null, function (date) {\n // return this.isoWeekYear() % 100;\n return (getISOWeekYear(date) % 100).toString();\n });\n addWeekYearFormatToken('gggg', _getWeekYearFormatCb);\n addWeekYearFormatToken('ggggg', _getWeekYearFormatCb);\n addWeekYearFormatToken('GGGG', _getISOWeekYearFormatCb);\n addWeekYearFormatToken('GGGGG', _getISOWeekYearFormatCb);\n // ALIASES\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n // PRIORITY\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n // PARSING\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 addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n return config;\n });\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = parseTwoDigitYear(input);\n return config;\n });\n}\nfunction addWeekYearFormatToken(token, getter) {\n addFormatToken(null, [token, token.length, false], null, getter);\n}\nfunction _getWeekYearFormatCb(date, opts) {\n return getWeekYear(date, opts.locale).toString();\n}\nfunction _getISOWeekYearFormatCb(date) {\n return getISOWeekYear(date).toString();\n}\n// MOMENTS\nexport function getSetWeekYear(date, input, locale = getLocale(), isUTC) {\n return getSetWeekYearHelper(date, input, \n // this.week(),\n getWeek(date, locale, isUTC), \n // this.weekday(),\n getLocaleDayOfWeek(date, locale, isUTC), locale.firstDayOfWeek(), locale.firstDayOfYear(), isUTC);\n}\nexport function getWeekYear(date, locale = getLocale(), isUTC) {\n return weekOfYear(date, locale.firstDayOfWeek(), locale.firstDayOfYear(), isUTC).year;\n}\nexport function getSetISOWeekYear(date, input, isUTC) {\n return getSetWeekYearHelper(date, input, getISOWeek(date, isUTC), getISODayOfWeek(date, isUTC), 1, 4);\n}\nexport function getISOWeekYear(date, isUTC) {\n return weekOfYear(date, 1, 4, isUTC).year;\n}\nexport function getISOWeeksInYear(date, isUTC) {\n return weeksInYear(getFullYear(date, isUTC), 1, 4);\n}\nexport function getWeeksInYear(date, isUTC, locale = getLocale()) {\n return weeksInYear(getFullYear(date, isUTC), locale.firstDayOfWeek(), locale.firstDayOfYear());\n}\nfunction getSetWeekYearHelper(date, input, week, weekday, dow, doy, isUTC) {\n if (!input) {\n return getWeekYear(date, void 0, isUTC);\n }\n const weeksTarget = weeksInYear(input, dow, doy);\n const _week = week > weeksTarget ? weeksTarget : week;\n return setWeekAll(date, input, _week, weekday, dow, doy);\n}\nfunction setWeekAll(date, weekYear, week, weekday, dow, doy) {\n const dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n const _date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n setFullYear(date, getFullYear(_date, true), true);\n setMonth(date, getMonth(_date, true), true);\n setDate(date, getDate(_date, true), true);\n return date;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay15ZWFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdW5pdHMvd2Vlay15ZWFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNySCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXZFLGFBQWE7QUFFYixN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RSxRQUFnQixFQUFFLElBQVksRUFDMUMsT0FBZSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQzNELE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1RSxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTFDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEZvcm1hdFRva2VuIH0gZnJvbSAnLi4vZm9ybWF0L2Zvcm1hdCc7XG5pbXBvcnQgeyBhZGRVbml0QWxpYXMgfSBmcm9tICcuL2FsaWFzZXMnO1xuaW1wb3J0IHsgYWRkVW5pdFByaW9yaXR5IH0gZnJvbSAnLi9wcmlvcml0aWVzJztcbmltcG9ydCB7IGFkZFJlZ2V4VG9rZW4sIG1hdGNoMXRvMiwgbWF0Y2gxdG80LCBtYXRjaDF0bzYsIG1hdGNoMiwgbWF0Y2g0LCBtYXRjaDYsIG1hdGNoU2lnbmVkIH0gZnJvbSAnLi4vcGFyc2UvcmVnZXgnO1xuaW1wb3J0IHsgYWRkV2Vla1BhcnNlVG9rZW4gfSBmcm9tICcuLi9wYXJzZS90b2tlbic7XG5pbXBvcnQgeyB0b0ludCB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IHBhcnNlVHdvRGlnaXRZZWFyIH0gZnJvbSAnLi95ZWFyJztcbmltcG9ydCB7IGRheU9mWWVhckZyb21XZWVrcywgd2Vla09mWWVhciwgd2Vla3NJblllYXIgfSBmcm9tICcuL3dlZWstY2FsZW5kYXItdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlVVRDRGF0ZSB9IGZyb20gJy4uL2NyZWF0ZS9kYXRlLWZyb20tYXJyYXknO1xuaW1wb3J0IHsgZ2V0SVNPV2VlaywgZ2V0V2VlayB9IGZyb20gJy4vd2Vlayc7XG5pbXBvcnQgeyBnZXRJU09EYXlPZldlZWssIGdldExvY2FsZURheU9mV2VlayB9IGZyb20gJy4vZGF5LW9mLXdlZWsnO1xuaW1wb3J0IHsgZ2V0TG9jYWxlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZXMnO1xuaW1wb3J0IHsgc2V0RGF0ZSwgc2V0RnVsbFllYXIsIHNldE1vbnRoIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1zZXR0ZXJzJztcbmltcG9ydCB7IGdldERhdGUsIGdldEZ1bGxZZWFyLCBnZXRNb250aCB9IGZyb20gJy4uL3V0aWxzL2RhdGUtZ2V0dGVycyc7XG5pbXBvcnQgeyBMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IERhdGVGb3JtYXR0ZXJGbiwgRGF0ZUZvcm1hdHRlck9wdGlvbnMsIFdlZWtQYXJzaW5nIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyBGT1JNQVRUSU5HXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0V2Vla1llYXIoKSB7XG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnZ2cnLCAyLCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24gKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIC8vIHJldHVybiB0aGlzLndlZWtZZWFyKCkgJSAxMDA7XG4gICAgICByZXR1cm4gKGdldFdlZWtZZWFyKGRhdGUsIG9wdHMubG9jYWxlKSAlIDEwMCkudG9TdHJpbmcoKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkRm9ybWF0VG9rZW4obnVsbCwgWydHRycsIDIsIGZhbHNlXSwgbnVsbCxcbiAgICBmdW5jdGlvbiAoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAvLyByZXR1cm4gdGhpcy5pc29XZWVrWWVhcigpICUgMTAwO1xuICAgICAgcmV0dXJuIChnZXRJU09XZWVrWWVhcihkYXRlKSAlIDEwMCkudG9TdHJpbmcoKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignZ2dnZycsIF9nZXRXZWVrWWVhckZvcm1hdENiKTtcbiAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignZ2dnZ2cnLCBfZ2V0V2Vla1llYXJGb3JtYXRDYik7XG4gIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4oJ0dHR0cnLCBfZ2V0SVNPV2Vla1llYXJGb3JtYXRDYik7XG4gIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4oJ0dHR0dHJywgX2dldElTT1dlZWtZZWFyRm9ybWF0Q2IpO1xuXG4vLyBBTElBU0VTXG5cbiAgYWRkVW5pdEFsaWFzKCd3ZWVrWWVhcicsICdnZycpO1xuICBhZGRVbml0QWxpYXMoJ2lzb1dlZWtZZWFyJywgJ0dHJyk7XG5cbi8vIFBSSU9SSVRZXG5cbiAgYWRkVW5pdFByaW9yaXR5KCd3ZWVrWWVhcicsIDEpO1xuICBhZGRVbml0UHJpb3JpdHkoJ2lzb1dlZWtZZWFyJywgMSk7XG5cblxuLy8gUEFSU0lOR1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ0cnLCBtYXRjaFNpZ25lZCk7XG4gIGFkZFJlZ2V4VG9rZW4oJ2cnLCBtYXRjaFNpZ25lZCk7XG4gIGFkZFJlZ2V4VG9rZW4oJ0dHJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICBhZGRSZWdleFRva2VuKCdnZycsIG1hdGNoMXRvMiwgbWF0Y2gyKTtcbiAgYWRkUmVnZXhUb2tlbignR0dHRycsIG1hdGNoMXRvNCwgbWF0Y2g0KTtcbiAgYWRkUmVnZXhUb2tlbignZ2dnZycsIG1hdGNoMXRvNCwgbWF0Y2g0KTtcbiAgYWRkUmVnZXhUb2tlbignR0dHR0cnLCBtYXRjaDF0bzYsIG1hdGNoNik7XG4gIGFkZFJlZ2V4VG9rZW4oJ2dnZ2dnJywgbWF0Y2gxdG82LCBtYXRjaDYpO1xuXG4gIGFkZFdlZWtQYXJzZVRva2VuKFsnZ2dnZycsICdnZ2dnZycsICdHR0dHJywgJ0dHR0dHJ10sXG4gICAgZnVuY3Rpb24gKGlucHV0LCB3ZWVrOiBXZWVrUGFyc2luZywgY29uZmlnLCB0b2tlbikge1xuICAgICAgd2Vla1t0b2tlbi5zdWJzdHIoMCwgMildID0gdG9JbnQoaW5wdXQpO1xuXG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH0pO1xuXG4gIGFkZFdlZWtQYXJzZVRva2VuKFsnZ2cnLCAnR0cnXSwgZnVuY3Rpb24gKGlucHV0LCB3ZWVrOiBXZWVrUGFyc2luZywgY29uZmlnLCB0b2tlbikge1xuICAgIHdlZWtbdG9rZW5dID0gcGFyc2VUd29EaWdpdFllYXIoaW5wdXQpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4odG9rZW46IHN0cmluZywgZ2V0dGVyOiBEYXRlRm9ybWF0dGVyRm4pOiB2b2lkIHtcbiAgYWRkRm9ybWF0VG9rZW4obnVsbCwgW3Rva2VuLCB0b2tlbi5sZW5ndGgsIGZhbHNlXSwgbnVsbCwgZ2V0dGVyKTtcbn1cblxuZnVuY3Rpb24gX2dldFdlZWtZZWFyRm9ybWF0Q2IoZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0V2Vla1llYXIoZGF0ZSwgb3B0cy5sb2NhbGUpLnRvU3RyaW5nKCk7XG59XG5cbmZ1bmN0aW9uIF9nZXRJU09XZWVrWWVhckZvcm1hdENiKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0SVNPV2Vla1llYXIoZGF0ZSkudG9TdHJpbmcoKTtcbn1cblxuLy8gTU9NRU5UU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2V0V2Vla1llYXIoZGF0ZTogRGF0ZSwgaW5wdXQ6IG51bWJlciwgbG9jYWxlID0gZ2V0TG9jYWxlKCksIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB8IERhdGUge1xuICByZXR1cm4gZ2V0U2V0V2Vla1llYXJIZWxwZXIoZGF0ZSxcbiAgICBpbnB1dCxcbiAgICAvLyB0aGlzLndlZWsoKSxcbiAgICBnZXRXZWVrKGRhdGUsIGxvY2FsZSwgaXNVVEMpLFxuICAgIC8vIHRoaXMud2Vla2RheSgpLFxuICAgIGdldExvY2FsZURheU9mV2VlayhkYXRlLCBsb2NhbGUsIGlzVVRDKSxcbiAgICBsb2NhbGUuZmlyc3REYXlPZldlZWsoKSxcbiAgICBsb2NhbGUuZmlyc3REYXlPZlllYXIoKSxcbiAgICBpc1VUQyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRXZWVrWWVhcihkYXRlOiBEYXRlLCBsb2NhbGUgPSBnZXRMb2NhbGUoKSwgaXNVVEM/OiBib29sZWFuKTogbnVtYmVyIHtcbiAgcmV0dXJuIHdlZWtPZlllYXIoZGF0ZSwgbG9jYWxlLmZpcnN0RGF5T2ZXZWVrKCksIGxvY2FsZS5maXJzdERheU9mWWVhcigpLCBpc1VUQykueWVhcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNldElTT1dlZWtZZWFyKGRhdGU6IERhdGUsIGlucHV0OiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB8IERhdGUge1xuICByZXR1cm4gZ2V0U2V0V2Vla1llYXJIZWxwZXIoZGF0ZSwgaW5wdXQsIGdldElTT1dlZWsoZGF0ZSwgaXNVVEMpLCBnZXRJU09EYXlPZldlZWsoZGF0ZSwgaXNVVEMpLCAxLCA0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldElTT1dlZWtZZWFyKGRhdGU6IERhdGUsIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB7XG4gIHJldHVybiB3ZWVrT2ZZZWFyKGRhdGUsIDEsIDQsIGlzVVRDKS55ZWFyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SVNPV2Vla3NJblllYXIoZGF0ZTogRGF0ZSwgaXNVVEM/OiBib29sZWFuKSB7XG4gIHJldHVybiB3ZWVrc0luWWVhcihnZXRGdWxsWWVhcihkYXRlLCBpc1VUQyksIDEsIDQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2Vla3NJblllYXIoZGF0ZTogRGF0ZSwgaXNVVEM/OiBib29sZWFuLCBsb2NhbGU6IExvY2FsZSA9IGdldExvY2FsZSgpKTogbnVtYmVyIHtcbiAgcmV0dXJuIHdlZWtzSW5ZZWFyKGdldEZ1bGxZZWFyKGRhdGUsIGlzVVRDKSwgbG9jYWxlLmZpcnN0RGF5T2ZXZWVrKCksIGxvY2FsZS5maXJzdERheU9mWWVhcigpKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2V0V2Vla1llYXJIZWxwZXIoZGF0ZTogRGF0ZSwgaW5wdXQ6IG51bWJlciwgd2VlazogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Vla2RheTogbnVtYmVyLCBkb3c6IG51bWJlciwgZG95OiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB8IERhdGUge1xuICBpZiAoIWlucHV0KSB7XG4gICAgcmV0dXJuIGdldFdlZWtZZWFyKGRhdGUsIHZvaWQgMCwgaXNVVEMpO1xuICB9XG5cbiAgY29uc3Qgd2Vla3NUYXJnZXQgPSB3ZWVrc0luWWVhcihpbnB1dCwgZG93LCBkb3kpO1xuICBjb25zdCBfd2VlayA9IHdlZWsgPiB3ZWVrc1RhcmdldCA/IHdlZWtzVGFyZ2V0IDogd2VlaztcblxuICByZXR1cm4gc2V0V2Vla0FsbChkYXRlLCBpbnB1dCwgX3dlZWssIHdlZWtkYXksIGRvdywgZG95KTtcbn1cblxuZnVuY3Rpb24gc2V0V2Vla0FsbChkYXRlOiBEYXRlLCB3ZWVrWWVhcjogbnVtYmVyLCB3ZWVrOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIHdlZWtkYXk6IG51bWJlciwgZG93OiBudW1iZXIsIGRveTogbnVtYmVyKTogRGF0ZSB7XG4gIGNvbnN0IGRheU9mWWVhckRhdGEgPSBkYXlPZlllYXJGcm9tV2Vla3Mod2Vla1llYXIsIHdlZWssIHdlZWtkYXksIGRvdywgZG95KTtcbiAgY29uc3QgX2RhdGUgPSBjcmVhdGVVVENEYXRlKGRheU9mWWVhckRhdGEueWVhciwgMCwgZGF5T2ZZZWFyRGF0YS5kYXlPZlllYXIpO1xuICBzZXRGdWxsWWVhcihkYXRlLCBnZXRGdWxsWWVhcihfZGF0ZSwgdHJ1ZSksIHRydWUpO1xuICBzZXRNb250aChkYXRlLCBnZXRNb250aChfZGF0ZSwgdHJ1ZSksIHRydWUpO1xuICBzZXREYXRlKGRhdGUsIGdldERhdGUoX2RhdGUsIHRydWUpLCB0cnVlKTtcblxuICByZXR1cm4gZGF0ZTtcbn1cbiJdfQ==","import { addFormatToken } from '../format/format';\n// todo: add support for timezones\nexport function initTimezone() {\n // FORMATTING\n addFormatToken('z', null, null, function (date, opts) {\n return opts.isUTC ? 'UTC' : '';\n });\n addFormatToken('zz', null, null, function (date, opts) {\n return opts.isUTC ? 'Coordinated Universal Time' : '';\n });\n}\n// MOMENTS\nexport function getZoneAbbr(isUTC) {\n return isUTC ? 'UTC' : '';\n}\nexport function getZoneName(isUTC) {\n return isUTC ? 'Coordinated Universal Time' : '';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91bml0cy90aW1lem9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEQsa0NBQWtDO0FBRWxDLE1BQU0sVUFBVSxZQUFZO0lBQzFCLGFBQWE7SUFDYixjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQzVCLFVBQVMsSUFBVSxFQUFFLElBQTBCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakMsQ0FBQyxDQUNGLENBQUM7SUFDRixjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQzdCLFVBQVMsSUFBVSxFQUFFLElBQTBCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4RCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxVQUFVO0FBRVYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFjO0lBQ3hDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFjO0lBQ3hDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRGb3JtYXRUb2tlbiB9IGZyb20gJy4uL2Zvcm1hdC9mb3JtYXQnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlck9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIHRvZG86IGFkZCBzdXBwb3J0IGZvciB0aW1lem9uZXNcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRUaW1lem9uZSgpIHtcbiAgLy8gRk9STUFUVElOR1xuICBhZGRGb3JtYXRUb2tlbigneicsIG51bGwsIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIG9wdHMuaXNVVEMgPyAnVVRDJyA6ICcnO1xuICAgIH1cbiAgKTtcbiAgYWRkRm9ybWF0VG9rZW4oJ3p6JywgbnVsbCwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gb3B0cy5pc1VUQyA/ICdDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZScgOiAnJztcbiAgICB9XG4gICk7XG59XG5cbi8vIE1PTUVOVFNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFpvbmVBYmJyKGlzVVRDOiBib29sZWFuKSB7XG4gIHJldHVybiBpc1VUQyA/ICdVVEMnIDogJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRab25lTmFtZShpc1VUQzogYm9vbGVhbikge1xuICByZXR1cm4gaXNVVEMgPyAnQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUnIDogJyc7XG59XG4iXX0=","import { addFormatToken } from '../format/format';\nimport { unix } from '../utils/date-getters';\nimport { addRegexToken, matchSigned, matchTimestamp } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { toInt } from '../utils/type-checks';\nexport function initTimestamp() {\n // FORMATTING\n addFormatToken('X', null, null, function (date) {\n return unix(date)\n .toString(10);\n });\n addFormatToken('x', null, null, function (date) {\n return date.valueOf()\n .toString(10);\n });\n // PARSING\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n return config;\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n return config;\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXN0YW1wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdW5pdHMvdGltZXN0YW1wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUs3QyxNQUFNLFVBQVUsYUFBYTtJQUM3QixhQUFhO0lBRVgsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVMsSUFBVTtRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDZCxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDSCxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBUyxJQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRTthQUNsQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFFTCxVQUFVO0lBRVIsYUFBYSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNoQyxhQUFhLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRW5DLGFBQWEsQ0FBQyxHQUFHLEVBQUUsVUFBUyxLQUFhLEVBQUUsS0FBZ0IsRUFBRSxNQUF5QjtRQUNwRixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUUvQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztJQUNILGFBQWEsQ0FBQyxHQUFHLEVBQUUsVUFBUyxLQUFhLEVBQUUsS0FBZ0IsRUFBRSxNQUF5QjtRQUNwRixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEZvcm1hdFRva2VuIH0gZnJvbSAnLi4vZm9ybWF0L2Zvcm1hdCc7XG5pbXBvcnQgeyB1bml4IH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IGFkZFJlZ2V4VG9rZW4sIG1hdGNoU2lnbmVkLCBtYXRjaFRpbWVzdGFtcCB9IGZyb20gJy4uL3BhcnNlL3JlZ2V4JztcbmltcG9ydCB7IGFkZFBhcnNlVG9rZW59IGZyb20gJy4uL3BhcnNlL3Rva2VuJztcbmltcG9ydCB7IHRvSW50IH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgRGF0ZUFycmF5IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuLi9jcmVhdGUvcGFyc2luZy50eXBlcyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRUaW1lc3RhbXAoKSB7XG4vLyBGT1JNQVRUSU5HXG5cbiAgYWRkRm9ybWF0VG9rZW4oJ1gnLCBudWxsLCBudWxsLCBmdW5jdGlvbihkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdW5peChkYXRlKVxuICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgfSk7XG4gIGFkZEZvcm1hdFRva2VuKCd4JywgbnVsbCwgbnVsbCwgZnVuY3Rpb24oZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGUudmFsdWVPZigpXG4gICAgICAudG9TdHJpbmcoMTApO1xuICB9KTtcblxuLy8gUEFSU0lOR1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ3gnLCBtYXRjaFNpZ25lZCk7XG4gIGFkZFJlZ2V4VG9rZW4oJ1gnLCBtYXRjaFRpbWVzdGFtcCk7XG5cbiAgYWRkUGFyc2VUb2tlbignWCcsIGZ1bmN0aW9uKGlucHV0OiBzdHJpbmcsIGFycmF5OiBEYXRlQXJyYXksIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gICAgY29uZmlnLl9kID0gbmV3IERhdGUocGFyc2VGbG9hdChpbnB1dCkgKiAxMDAwKTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH0pO1xuICBhZGRQYXJzZVRva2VuKCd4JywgZnVuY3Rpb24oaW5wdXQ6IHN0cmluZywgYXJyYXk6IERhdGVBcnJheSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICBjb25maWcuX2QgPSBuZXcgRGF0ZSh0b0ludChpbnB1dCkpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSk7XG59XG4iXX0=","import { addFormatToken } from '../format/format';\nimport { getSeconds } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { SECOND } from './constants';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nexport function initSecond() {\n // FORMATTING\n addFormatToken('s', ['ss', 2, false], null, function (date, opts) {\n return getSeconds(date, opts.isUTC)\n .toString(10);\n });\n // ALIASES\n addUnitAlias('second', 's');\n // PRIORITY\n addUnitPriority('second', 15);\n // PARSING\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vjb25kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdW5pdHMvc2Vjb25kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSS9DLE1BQU0sVUFBVSxVQUFVO0lBQzFCLGFBQWE7SUFFWCxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQ3hDLFVBQVMsSUFBVSxFQUFFLElBQTBCO1FBQzdDLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ2hDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQ0YsQ0FBQztJQUVKLFVBQVU7SUFFUixZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTlCLFdBQVc7SUFFVCxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWhDLFVBQVU7SUFFUixhQUFhLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkRm9ybWF0VG9rZW4gfSBmcm9tICcuLi9mb3JtYXQvZm9ybWF0JztcbmltcG9ydCB7IGdldFNlY29uZHMgfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuaW1wb3J0IHsgYWRkUmVnZXhUb2tlbiwgbWF0Y2gxdG8yLCBtYXRjaDIgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBhZGRQYXJzZVRva2VuIH0gZnJvbSAnLi4vcGFyc2UvdG9rZW4nO1xuaW1wb3J0IHsgU0VDT05EIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYWRkVW5pdEFsaWFzIH0gZnJvbSAnLi9hbGlhc2VzJztcbmltcG9ydCB7IGFkZFVuaXRQcmlvcml0eSB9IGZyb20gJy4vcHJpb3JpdGllcyc7XG5pbXBvcnQgeyBEYXRlRm9ybWF0dGVyT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcblxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFNlY29uZCgpIHtcbi8vIEZPUk1BVFRJTkdcblxuICBhZGRGb3JtYXRUb2tlbigncycsIFsnc3MnLCAyLCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGdldFNlY29uZHMoZGF0ZSwgb3B0cy5pc1VUQylcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbi8vIEFMSUFTRVNcblxuICBhZGRVbml0QWxpYXMoJ3NlY29uZCcsICdzJyk7XG5cbi8vIFBSSU9SSVRZXG5cbiAgYWRkVW5pdFByaW9yaXR5KCdzZWNvbmQnLCAxNSk7XG5cbi8vIFBBUlNJTkdcblxuICBhZGRSZWdleFRva2VuKCdzJywgbWF0Y2gxdG8yKTtcbiAgYWRkUmVnZXhUb2tlbignc3MnLCBtYXRjaDF0bzIsIG1hdGNoMik7XG4gIGFkZFBhcnNlVG9rZW4oWydzJywgJ3NzJ10sIFNFQ09ORCk7XG59XG4iXX0=","import { addFormatToken } from '../format/format';\nimport { addRegexToken, match1 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { MONTH } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { getMonth } from '../utils/date-getters';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nimport { setMonth } from '../utils/date-setters';\nexport function initQuarter() {\n // FORMATTING\n addFormatToken('Q', null, 'Qo', function (date, opts) {\n return getQuarter(date, opts.isUTC)\n .toString(10);\n });\n // ALIASES\n addUnitAlias('quarter', 'Q');\n // PRIORITY\n addUnitPriority('quarter', 7);\n // PARSING\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array, config) {\n array[MONTH] = (toInt(input) - 1) * 3;\n return config;\n });\n}\n// MOMENTS\nexport function getQuarter(date, isUTC = false) {\n return Math.ceil((getMonth(date, isUTC) + 1) / 3);\n}\nexport function setQuarter(date, quarter, isUTC) {\n return setMonth(date, (quarter - 1) * 3 + getMonth(date, isUTC) % 3, isUTC);\n}\n// export 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL3VuaXRzL3F1YXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2pELE1BQU0sVUFBVSxXQUFXO0lBQzNCLGFBQWE7SUFFWCxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQzVCLFVBQVMsSUFBVSxFQUFFLElBQTBCO1FBQzdDLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ2hDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQ0YsQ0FBQztJQUVKLFVBQVU7SUFFUixZQUFZLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRS9CLFdBQVc7SUFFVCxlQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhDLFVBQVU7SUFFUixhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLGFBQWEsQ0FBQyxHQUFHLEVBQUUsVUFBUyxLQUFhLEVBQUUsS0FBZ0IsRUFBRSxNQUF5QjtRQUNwRixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXRDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFVBQVU7QUFFVixNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVUsRUFBRSxLQUFLLEdBQUcsS0FBSztJQUNsRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVUsRUFBRSxPQUFlLEVBQUUsS0FBZTtJQUNyRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMseUJBQXlCO0FBQ3pCLDBDQUEwQztBQUMxQyx3REFBd0Q7QUFDeEQsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEZvcm1hdFRva2VuIH0gZnJvbSAnLi4vZm9ybWF0L2Zvcm1hdCc7XG5pbXBvcnQgeyBhZGRSZWdleFRva2VuLCBtYXRjaDEgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBhZGRQYXJzZVRva2VuIH0gZnJvbSAnLi4vcGFyc2UvdG9rZW4nO1xuaW1wb3J0IHsgTU9OVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB0b0ludCB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IGdldE1vbnRoIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IERhdGVBcnJheSwgRGF0ZUZvcm1hdHRlck9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBhZGRVbml0UHJpb3JpdHkgfSBmcm9tICcuL3ByaW9yaXRpZXMnO1xuaW1wb3J0IHsgYWRkVW5pdEFsaWFzIH0gZnJvbSAnLi9hbGlhc2VzJztcbmltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi4vY3JlYXRlL3BhcnNpbmcudHlwZXMnO1xuaW1wb3J0IHsgc2V0TW9udGggfSBmcm9tICcuLi91dGlscy9kYXRlLXNldHRlcnMnO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0UXVhcnRlcigpIHtcbi8vIEZPUk1BVFRJTkdcblxuICBhZGRGb3JtYXRUb2tlbignUScsIG51bGwsICdRbycsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGdldFF1YXJ0ZXIoZGF0ZSwgb3B0cy5pc1VUQylcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbi8vIEFMSUFTRVNcblxuICBhZGRVbml0QWxpYXMoJ3F1YXJ0ZXInLCAnUScpO1xuXG4vLyBQUklPUklUWVxuXG4gIGFkZFVuaXRQcmlvcml0eSgncXVhcnRlcicsIDcpO1xuXG4vLyBQQVJTSU5HXG5cbiAgYWRkUmVnZXhUb2tlbignUScsIG1hdGNoMSk7XG4gIGFkZFBhcnNlVG9rZW4oJ1EnLCBmdW5jdGlvbihpbnB1dDogc3RyaW5nLCBhcnJheTogRGF0ZUFycmF5LCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICAgIGFycmF5W01PTlRIXSA9ICh0b0ludChpbnB1dCkgLSAxKSAqIDM7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9KTtcbn1cblxuLy8gTU9NRU5UU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVhcnRlcihkYXRlOiBEYXRlLCBpc1VUQyA9IGZhbHNlKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGguY2VpbCgoZ2V0TW9udGgoZGF0ZSwgaXNVVEMpICsgMSkgLyAzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFF1YXJ0ZXIoZGF0ZTogRGF0ZSwgcXVhcnRlcjogbnVtYmVyLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgcmV0dXJuIHNldE1vbnRoKGRhdGUsIChxdWFydGVyIC0gMSkgKiAzICsgZ2V0TW9udGgoZGF0ZSwgaXNVVEMpICUgMywgaXNVVEMpO1xufVxuXG4vLyBleHBvcnQgZnVuY3Rpb24gZ2V0U2V0UXVhcnRlcihpbnB1dCkge1xuLy8gICByZXR1cm4gaW5wdXQgPT0gbnVsbFxuLy8gICAgID8gTWF0aC5jZWlsKCh0aGlzLm1vbnRoKCkgKyAxKSAvIDMpXG4vLyAgICAgOiB0aGlzLm1vbnRoKChpbnB1dCAtIDEpICogMyArIHRoaXMubW9udGgoKSAlIDMpO1xuLy8gfVxuIl19","// FORMATTING\nimport { addFormatToken } from '../format/format';\nimport { zeroFill } from '../utils/zero-fill';\nimport { isNumber, isString, toInt } from '../utils/type-checks';\nimport { addRegexToken, matchOffset, matchShortOffset } from '../parse/regex';\nimport { add } from '../moment/add-subtract';\nimport { addParseToken } from '../parse/token';\nimport { cloneDate } from '../create/clone';\nimport { setMonth } from '../utils/date-setters';\nfunction addOffsetFormatToken(token, separator) {\n addFormatToken(token, null, null, function (date, config) {\n let offset = getUTCOffset(date, { _isUTC: config.isUTC, _offset: config.offset });\n let 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}\nexport function initOffset() {\n addOffsetFormatToken('Z', ':');\n addOffsetFormatToken('ZZ', '');\n // PARSING\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 return config;\n });\n}\n// HELPERS\n// timezone chunker\n// '+10:00' > ['10', '00']\n// '-1530' > ['-15', '30']\nconst chunkOffset = /([\\+\\-]|\\d\\d)/gi;\nfunction offsetFromString(matcher, str) {\n const matches = (str || '').match(matcher);\n if (matches === null) {\n return null;\n }\n const chunk = matches[matches.length - 1];\n const parts = chunk.match(chunkOffset) || ['-', '0', '0'];\n const minutes = parseInt(parts[1], 10) * 60 + toInt(parts[2]);\n const _min = parts[0] === '+' ? minutes : -minutes;\n return minutes === 0 ? 0 : _min;\n}\n// Return a moment from input, that is local/utc/zone equivalent to model.\nexport function cloneWithOffset(input, date, config = {}) {\n if (!config._isUTC) {\n return input;\n }\n const res = cloneDate(date);\n // todo: input._d - res._d + ((res._offset || 0) - (input._offset || 0))*60000\n const offsetDiff = (config._offset || 0) * 60000;\n const diff = input.valueOf() - res.valueOf() + offsetDiff;\n // Use low-level api, because this fn is low-level api.\n res.setTime(res.valueOf() + diff);\n // todo: add timezone handling\n // hooks.updateOffset(res, false);\n return res;\n}\nexport function getDateOffset(date) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(date.getTimezoneOffset() / 15) * 15;\n}\n// HOOKS\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// todo: it's from moment timezones\n// hooks.updateOffset = function () {\n// };\n// MOMENTS\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.\nexport function getUTCOffset(date, config = {}) {\n const _offset = config._offset || 0;\n return config._isUTC ? _offset : getDateOffset(date);\n}\nexport function setUTCOffset(date, input, keepLocalTime, keepMinutes, config = {}) {\n const offset = config._offset || 0;\n let localAdjust;\n let _input = input;\n let _date = date;\n if (isString(_input)) {\n _input = offsetFromString(matchShortOffset, _input);\n if (_input === null) {\n return _date;\n }\n }\n else if (isNumber(_input) && Math.abs(_input) < 16 && !keepMinutes) {\n _input = _input * 60;\n }\n if (!config._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(_date);\n }\n config._offset = _input;\n config._isUTC = true;\n if (localAdjust != null) {\n _date = add(_date, localAdjust, 'minutes');\n }\n if (offset !== _input) {\n if (!keepLocalTime || config._changeInProgress) {\n _date = add(_date, _input - offset, 'minutes', config._isUTC);\n // addSubtract(this, createDuration(_input - offset, 'm'), 1, false);\n }\n else if (!config._changeInProgress) {\n config._changeInProgress = true;\n // todo: add timezone handling\n // hooks.updateOffset(this, true);\n config._changeInProgress = null;\n }\n }\n return _date;\n}\n/*\nexport 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*/\nexport function setOffsetToUTC(date, keepLocalTime) {\n return setUTCOffset(date, 0, keepLocalTime);\n}\nexport function isDaylightSavingTime(date) {\n return (getUTCOffset(date) > getUTCOffset(setMonth(cloneDate(date), 0))\n || getUTCOffset(date) > getUTCOffset(setMonth(cloneDate(date), 5)));\n}\n/*export function setOffsetToLocal(date: Date, isUTC?: boolean, keepLocalTime?: boolean) {\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}*/\nexport function setOffsetToParsedOffset(date, input, config = {}) {\n if (config._tzm != null) {\n return setUTCOffset(date, config._tzm, false, true, config);\n }\n if (isString(input)) {\n const tZone = offsetFromString(matchOffset, input);\n if (tZone != null) {\n return setUTCOffset(date, tZone, false, false, config);\n }\n return setUTCOffset(date, 0, true, false, config);\n }\n return date;\n}\nexport function hasAlignedHourOffset(date, input) {\n const _input = input ? getUTCOffset(input, { _isUTC: false }) : 0;\n return (getUTCOffset(date) - _input) % 60 === 0;\n}\n// DEPRECATED\n/*export function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n const c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n const other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n}*/\n// in Khronos\n/*export function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n}\n\nexport function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n}\n\nexport function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}*/\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdW5pdHMvb2Zmc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFFYixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpELFNBQVMsb0JBQW9CLENBQUMsS0FBYSxFQUFFLFNBQWlCO0lBQzVELGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLElBQVUsRUFBRSxNQUFNO1FBQzVELElBQUksTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUM7UUFDaEYsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFFRCxPQUFPLElBQUksR0FBRyxRQUFR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QUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFBVSxFQUFFLEtBQVk7SUFDM0QsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVsRSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUdELGFBQWE7QUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILGFBQWE7QUFDYjs7Ozs7Ozs7OztHQVVHIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRk9STUFUVElOR1xuXG5pbXBvcnQgeyBhZGRGb3JtYXRUb2tlbiB9IGZyb20gJy4uL2Zvcm1hdC9mb3JtYXQnO1xuaW1wb3J0IHsgemVyb0ZpbGwgfSBmcm9tICcuLi91dGlscy96ZXJvLWZpbGwnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuLi9jcmVhdGUvcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBpc051bWJlciwgaXNTdHJpbmcsIHRvSW50IH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgYWRkUmVnZXhUb2tlbiwgbWF0Y2hPZmZzZXQsIG1hdGNoU2hvcnRPZmZzZXQgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBhZGQgfSBmcm9tICcuLi9tb21lbnQvYWRkLXN1YnRyYWN0JztcbmltcG9ydCB7IGFkZFBhcnNlVG9rZW4gfSBmcm9tICcuLi9wYXJzZS90b2tlbic7XG5pbXBvcnQgeyBEYXRlQXJyYXkgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBjbG9uZURhdGUgfSBmcm9tICcuLi9jcmVhdGUvY2xvbmUnO1xuaW1wb3J0IHsgc2V0TW9udGggfSBmcm9tICcuLi91dGlscy9kYXRlLXNldHRlcnMnO1xuXG5mdW5jdGlvbiBhZGRPZmZzZXRGb3JtYXRUb2tlbih0b2tlbjogc3RyaW5nLCBzZXBhcmF0b3I6IHN0cmluZyk6IHZvaWQge1xuICBhZGRGb3JtYXRUb2tlbih0b2tlbiwgbnVsbCwgbnVsbCwgZnVuY3Rpb24gKGRhdGU6IERhdGUsIGNvbmZpZyk6IHN0cmluZyB7XG4gICAgbGV0IG9mZnNldCA9IGdldFVUQ09mZnNldChkYXRlLCB7X2lzVVRDOiBjb25maWcuaXNVVEMsIF9vZmZzZXQ6IGNvbmZpZy5vZmZzZXR9KTtcbiAgICBsZXQgc2lnbiA9ICcrJztcbiAgICBpZiAob2Zmc2V0IDwgMCkge1xuICAgICAgb2Zmc2V0ID0gLW9mZnNldDtcbiAgICAgIHNpZ24gPSAnLSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpZ24gKyB6ZXJvRmlsbCh+fihvZmZzZXQgLyA2MCksIDIpICsgc2VwYXJhdG9yICsgemVyb0ZpbGwofn4ob2Zmc2V0KSAlIDYwLCAyKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0T2Zmc2V0KCkge1xuICBhZGRPZmZzZXRGb3JtYXRUb2tlbignWicsICc6Jyk7XG4gIGFkZE9mZnNldEZvcm1hdFRva2VuKCdaWicsICcnKTtcblxuLy8gUEFSU0lOR1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ1onLCBtYXRjaFNob3J0T2Zmc2V0KTtcbiAgYWRkUmVnZXhUb2tlbignWlonLCBtYXRjaFNob3J0T2Zmc2V0KTtcbiAgYWRkUGFyc2VUb2tlbihbJ1onLCAnWlonXSwgZnVuY3Rpb24oaW5wdXQ6IHN0cmluZywgYXJyYXk6IERhdGVBcnJheSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICBjb25maWcuX3VzZVVUQyA9IHRydWU7XG4gICAgY29uZmlnLl90em0gPSBvZmZzZXRGcm9tU3RyaW5nKG1hdGNoU2hvcnRPZmZzZXQsIGlucHV0KTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH0pO1xufVxuXG4vLyBIRUxQRVJTXG5cbi8vIHRpbWV6b25lIGNodW5rZXJcbi8vICcrMTA6MDAnID4gWycxMCcsICAnMDAnXVxuLy8gJy0xNTMwJyAgPiBbJy0xNScsICczMCddXG5jb25zdCBjaHVua09mZnNldCA9IC8oW1xcK1xcLV18XFxkXFxkKS9naTtcblxuZnVuY3Rpb24gb2Zmc2V0RnJvbVN0cmluZyhtYXRjaGVyOiBSZWdFeHAsIHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgbWF0Y2hlcyA9IChzdHIgfHwgJycpLm1hdGNoKG1hdGNoZXIpO1xuXG4gIGlmIChtYXRjaGVzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjaHVuayA9IG1hdGNoZXNbbWF0Y2hlcy5sZW5ndGggLSAxXTtcbiAgY29uc3QgcGFydHMgPSBjaHVuay5tYXRjaChjaHVua09mZnNldCkgfHwgWyctJywgJzAnLCAnMCddO1xuICBjb25zdCBtaW51dGVzID0gcGFyc2VJbnQocGFydHNbMV0sIDEwKSAqIDYwICsgdG9JbnQocGFydHNbMl0pO1xuICBjb25zdCBfbWluID0gcGFydHNbMF0gPT09ICcrJyA/IG1pbnV0ZXMgOiAtbWludXRlcztcblxuICByZXR1cm4gbWludXRlcyA9PT0gMCA/IDAgOiBfbWluO1xufVxuXG4vLyBSZXR1cm4gYSBtb21lbnQgZnJvbSBpbnB1dCwgdGhhdCBpcyBsb2NhbC91dGMvem9uZSBlcXVpdmFsZW50IHRvIG1vZGVsLlxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lV2l0aE9mZnNldChpbnB1dDogRGF0ZSwgZGF0ZTogRGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyA9IHt9KTogRGF0ZSB7XG4gIGlmICghY29uZmlnLl9pc1VUQykge1xuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuXG4gIGNvbnN0IHJlcyA9IGNsb25lRGF0ZShkYXRlKTtcbiAgLy8gdG9kbzogaW5wdXQuX2QgLSByZXMuX2QgKyAoKHJlcy5fb2Zmc2V0IHx8IDApIC0gKGlucHV0Ll9vZmZzZXQgfHwgMCkpKjYwMDAwXG4gIGNvbnN0IG9mZnNldERpZmYgPSAoY29uZmlnLl9vZmZzZXQgfHwgMCkgKiA2MDAwMDtcbiAgY29uc3QgZGlmZiA9IGlucHV0LnZhbHVlT2YoKSAtIHJlcy52YWx1ZU9mKCkgKyBvZmZzZXREaWZmO1xuICAvLyBVc2UgbG93LWxldmVsIGFwaSwgYmVjYXVzZSB0aGlzIGZuIGlzIGxvdy1sZXZlbCBhcGkuXG4gIHJlcy5zZXRUaW1lKHJlcy52YWx1ZU9mKCkgKyBkaWZmKTtcbiAgLy8gdG9kbzogYWRkIHRpbWV6b25lIGhhbmRsaW5nXG4gIC8vIGhvb2tzLnVwZGF0ZU9mZnNldChyZXMsIGZhbHNlKTtcblxuICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0ZU9mZnNldChkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgLy8gT24gRmlyZWZveC4yNCBEYXRlI2dldFRpbWV6b25lT2Zmc2V0IHJldHVybnMgYSBmbG9hdGluZyBwb2ludC5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvcHVsbC8xODcxXG4gIHJldHVybiAtTWF0aC5yb3VuZChkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgLyAxNSkgKiAxNTtcbn1cblxuLy8gSE9PS1NcblxuLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCB3aGVuZXZlciBhIG1vbWVudCBpcyBtdXRhdGVkLlxuLy8gSXQgaXMgaW50ZW5kZWQgdG8ga2VlcCB0aGUgb2Zmc2V0IGluIHN5bmMgd2l0aCB0aGUgdGltZXpvbmUuXG4vLyB0b2RvOiBpdCdzIGZyb20gbW9tZW50IHRpbWV6b25lc1xuLy8gaG9va3MudXBkYXRlT2Zmc2V0ID0gZnVuY3Rpb24gKCkge1xuLy8gfTtcblxuLy8gTU9NRU5UU1xuXG4vLyBrZWVwTG9jYWxUaW1lID0gdHJ1ZSBtZWFucyBvbmx5IGNoYW5nZSB0aGUgdGltZXpvbmUsIHdpdGhvdXRcbi8vIGFmZmVjdGluZyB0aGUgbG9jYWwgaG91ci4gU28gNTozMToyNiArMDMwMCAtLVt1dGNPZmZzZXQoMiwgdHJ1ZSldLS0+XG4vLyA1OjMxOjI2ICswMjAwIEl0IGlzIHBvc3NpYmxlIHRoYXQgNTozMToyNiBkb2Vzbid0IGV4aXN0IHdpdGggb2Zmc2V0XG4vLyArMDIwMCwgc28gd2UgYWRqdXN0IHRoZSB0aW1lIGFzIG5lZWRlZCwgdG8gYmUgdmFsaWQuXG4vL1xuLy8gS2VlcGluZyB0aGUgdGltZSBhY3R1YWxseSBhZGRzL3N1YnRyYWN0cyAob25lIGhvdXIpXG4vLyBmcm9tIHRoZSBhY3R1YWwgcmVwcmVzZW50ZWQgdGltZS4gVGhhdCBpcyB3aHkgd2UgY2FsbCB1cGRhdGVPZmZzZXRcbi8vIGEgc2Vjb25kIHRpbWUuIEluIGNhc2UgaXQgd2FudHMgdXMgdG8gY2hhbmdlIHRoZSBvZmZzZXQgYWdhaW5cbi8vIF9jaGFuZ2VJblByb2dyZXNzID09IHRydWUgY2FzZSwgdGhlbiB3ZSBoYXZlIHRvIGFkanVzdCwgYmVjYXVzZVxuLy8gdGhlcmUgaXMgbm8gc3VjaCB0aW1lIGluIHRoZSBnaXZlbiB0aW1lem9uZS5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVVENPZmZzZXQoZGF0ZTogRGF0ZSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyA9IHt9KTogbnVtYmVyIHtcbiAgY29uc3QgX29mZnNldCA9IGNvbmZpZy5fb2Zmc2V0IHx8IDA7XG5cbiAgcmV0dXJuIGNvbmZpZy5faXNVVEMgPyBfb2Zmc2V0IDogZ2V0RGF0ZU9mZnNldChkYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFVUQ09mZnNldChkYXRlOiBEYXRlLCBpbnB1dDogbnVtYmVyIHwgc3RyaW5nLCBrZWVwTG9jYWxUaW1lPzogYm9vbGVhbiwga2VlcE1pbnV0ZXM/OiBib29sZWFuLCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnID0ge30pOiBEYXRlIHtcbiAgY29uc3Qgb2Zmc2V0ID0gY29uZmlnLl9vZmZzZXQgfHwgMDtcbiAgbGV0IGxvY2FsQWRqdXN0O1xuICBsZXQgX2lucHV0ID0gaW5wdXQ7XG4gIGxldCBfZGF0ZSA9IGRhdGU7XG5cbiAgaWYgKGlzU3RyaW5nKF9pbnB1dCkpIHtcbiAgICBfaW5wdXQgPSBvZmZzZXRGcm9tU3RyaW5nKG1hdGNoU2hvcnRPZmZzZXQsIF9pbnB1dCk7XG4gICAgaWYgKF9pbnB1dCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIF9kYXRlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc051bWJlcihfaW5wdXQpICYmIE1hdGguYWJzKF9pbnB1dCkgPCAxNiAmJiAha2VlcE1pbnV0ZXMpIHtcbiAgICBfaW5wdXQgPSBfaW5wdXQgKiA2MDtcbiAgfVxuXG4gIGlmICghY29uZmlnLl9pc1VUQyAmJiBrZWVwTG9jYWxUaW1lKSB7XG4gICAgbG9jYWxBZGp1c3QgPSBnZXREYXRlT2Zmc2V0KF9kYXRlKTtcbiAgfVxuICBjb25maWcuX29mZnNldCA9IF9pbnB1dDtcbiAgY29uZmlnLl9pc1VUQyA9IHRydWU7XG4gIGlmIChsb2NhbEFkanVzdCAhPSBudWxsKSB7XG4gICAgX2RhdGUgPSBhZGQoX2RhdGUsIGxvY2FsQWRqdXN0LCAnbWludXRlcycpO1xuICB9XG4gIGlmIChvZmZzZXQgIT09IF9pbnB1dCkge1xuICAgIGlmICgha2VlcExvY2FsVGltZSB8fCBjb25maWcuX2NoYW5nZUluUHJvZ3Jlc3MpIHtcbiAgICAgIF9kYXRlID0gYWRkKF9kYXRlLCBfaW5wdXQgLSBvZmZzZXQsICdtaW51dGVzJywgY29uZmlnLl9pc1VUQyk7XG4gICAgICAvLyBhZGRTdWJ0cmFjdCh0aGlzLCBjcmVhdGVEdXJhdGlvbihfaW5wdXQgLSBvZmZzZXQsICdtJyksIDEsIGZhbHNlKTtcbiAgICB9IGVsc2UgaWYgKCFjb25maWcuX2NoYW5nZUluUHJvZ3Jlc3MpIHtcbiAgICAgIGNvbmZpZy5fY2hhbmdlSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgICAvLyB0b2RvOiBhZGQgdGltZXpvbmUgaGFuZGxpbmdcbiAgICAgIC8vIGhvb2tzLnVwZGF0ZU9mZnNldCh0aGlzLCB0cnVlKTtcbiAgICAgIGNvbmZpZy5fY2hhbmdlSW5Qcm9ncmVzcyA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIF9kYXRlO1xufVxuXG4vKlxuZXhwb3J0IGZ1bmN0aW9uIGdldFNldFpvbmUoaW5wdXQsIGtlZXBMb2NhbFRpbWUpIHtcbiAgaWYgKGlucHV0ICE9IG51bGwpIHtcbiAgICBpZiAodHlwZW9mIGlucHV0ICE9PSAnc3RyaW5nJykge1xuICAgICAgaW5wdXQgPSAtaW5wdXQ7XG4gICAgfVxuXG4gICAgdGhpcy51dGNPZmZzZXQoaW5wdXQsIGtlZXBMb2NhbFRpbWUpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIC10aGlzLnV0Y09mZnNldCgpO1xuICB9XG59XG4qL1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0T2Zmc2V0VG9VVEMoZGF0ZTogRGF0ZSwga2VlcExvY2FsVGltZT86IGJvb2xlYW4pOiBEYXRlIHtcbiAgcmV0dXJuIHNldFVUQ09mZnNldChkYXRlLCAwLCBrZWVwTG9jYWxUaW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF5bGlnaHRTYXZpbmdUaW1lKGRhdGU6IERhdGUpOiBib29sZWFuIHtcblxuICByZXR1cm4gKGdldFVUQ09mZnNldChkYXRlKSA+IGdldFVUQ09mZnNldChzZXRNb250aChjbG9uZURhdGUoZGF0ZSksIDApKVxuICAgIHx8IGdldFVUQ09mZnNldChkYXRlKSA+IGdldFVUQ09mZnNldChzZXRNb250aChjbG9uZURhdGUoZGF0ZSksIDUpKSk7XG59XG5cbi8qZXhwb3J0IGZ1bmN0aW9uIHNldE9mZnNldFRvTG9jYWwoZGF0ZTogRGF0ZSwgaXNVVEM/OiBib29sZWFuLCBrZWVwTG9jYWxUaW1lPzogYm9vbGVhbikge1xuICBpZiAodGhpcy5faXNVVEMpIHtcbiAgICB0aGlzLnV0Y09mZnNldCgwLCBrZWVwTG9jYWxUaW1lKTtcbiAgICB0aGlzLl9pc1VUQyA9IGZhbHNlO1xuXG4gICAgaWYgKGtlZXBMb2NhbFRpbWUpIHtcbiAgICAgIHRoaXMuc3VidHJhY3QoZ2V0RGF0ZU9mZnNldCh0aGlzKSwgJ20nKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59Ki9cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE9mZnNldFRvUGFyc2VkT2Zmc2V0KGRhdGU6IERhdGUsIGlucHV0OiBzdHJpbmcsIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcgPSB7fSk6IERhdGUge1xuICBpZiAoY29uZmlnLl90em0gIT0gbnVsbCkge1xuICAgIHJldHVybiBzZXRVVENPZmZzZXQoZGF0ZSwgY29uZmlnLl90em0sIGZhbHNlLCB0cnVlLCBjb25maWcpO1xuICB9XG5cbiAgaWYgKGlzU3RyaW5nKGlucHV0KSkge1xuICAgIGNvbnN0IHRab25lID0gb2Zmc2V0RnJvbVN0cmluZyhtYXRjaE9mZnNldCwgaW5wdXQpO1xuICAgIGlmICh0Wm9uZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gc2V0VVRDT2Zmc2V0KGRhdGUsIHRab25lLCBmYWxzZSwgZmFsc2UsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNldFVUQ09mZnNldChkYXRlLCAwLCB0cnVlLCBmYWxzZSwgY29uZmlnKTtcbiAgfVxuXG4gIHJldHVybiBkYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQWxpZ25lZEhvdXJPZmZzZXQoZGF0ZTogRGF0ZSwgaW5wdXQ/OiBEYXRlKSB7XG4gIGNvbnN0IF9pbnB1dCA9IGlucHV0ID8gZ2V0VVRDT2Zmc2V0KGlucHV0LCB7IF9pc1VUQzogZmFsc2UgfSkgOiAwO1xuXG4gIHJldHVybiAoZ2V0VVRDT2Zmc2V0KGRhdGUpIC0gX2lucHV0KSAlIDYwID09PSAwO1xufVxuXG5cbi8vIERFUFJFQ0FURURcbi8qZXhwb3J0IGZ1bmN0aW9uIGlzRGF5bGlnaHRTYXZpbmdUaW1lU2hpZnRlZCgpIHtcbiAgaWYgKCFpc1VuZGVmaW5lZCh0aGlzLl9pc0RTVFNoaWZ0ZWQpKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzRFNUU2hpZnRlZDtcbiAgfVxuXG4gIGNvbnN0IGMgPSB7fTtcblxuICBjb3B5Q29uZmlnKGMsIHRoaXMpO1xuICBjID0gcHJlcGFyZUNvbmZpZyhjKTtcblxuICBpZiAoYy5fYSkge1xuICAgIGNvbnN0IG90aGVyID0gYy5faXNVVEMgPyBjcmVhdGVVVEMoYy5fYSkgOiBjcmVhdGVMb2NhbChjLl9hKTtcbiAgICB0aGlzLl9pc0RTVFNoaWZ0ZWQgPSB0aGlzLmlzVmFsaWQoKSAmJlxuICAgICAgY29tcGFyZUFycmF5cyhjLl9hLCBvdGhlci50b0FycmF5KCkpID4gMDtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLl9pc0RTVFNoaWZ0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0aGlzLl9pc0RTVFNoaWZ0ZWQ7XG59Ki9cblxuLy8gaW4gS2hyb25vc1xuLypleHBvcnQgZnVuY3Rpb24gaXNMb2NhbCgpIHtcbiAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpID8gIXRoaXMuX2lzVVRDIDogZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0Y09mZnNldCgpIHtcbiAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpID8gdGhpcy5faXNVVEMgOiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXRjKCkge1xuICByZXR1cm4gdGhpcy5pc1ZhbGlkKCkgPyB0aGlzLl9pc1VUQyAmJiB0aGlzLl9vZmZzZXQgPT09IDAgOiBmYWxzZTtcbn0qL1xuIl19","import { addFormatToken } from '../format/format';\nimport { getMinutes } from '../utils/date-getters';\nimport { addRegexToken, match1to2, match2 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { MINUTE } from './constants';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nexport function initMinute() {\n // FORMATTING\n addFormatToken('m', ['mm', 2, false], null, function (date, opts) {\n return getMinutes(date, opts.isUTC)\n .toString(10);\n });\n // ALIASES\n addUnitAlias('minute', 'm');\n // PRIORITY\n addUnitPriority('minute', 14);\n // PARSING\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdW5pdHMvbWludXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSXpDLE1BQU0sVUFBVSxVQUFVO0lBQzFCLGFBQWE7SUFFWCxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQ3hDLFVBQVMsSUFBVSxFQUFFLElBQTBCO1FBQzdDLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ2hDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQ0YsQ0FBQztJQUVKLFVBQVU7SUFFUixZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTlCLFdBQVc7SUFFVCxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWhDLFVBQVU7SUFFUixhQUFhLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkRm9ybWF0VG9rZW4gfSBmcm9tICcuLi9mb3JtYXQvZm9ybWF0JztcbmltcG9ydCB7IGdldE1pbnV0ZXMgfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuaW1wb3J0IHsgYWRkUmVnZXhUb2tlbiwgbWF0Y2gxdG8yLCBtYXRjaDIgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBhZGRQYXJzZVRva2VuIH0gZnJvbSAnLi4vcGFyc2UvdG9rZW4nO1xuaW1wb3J0IHsgTUlOVVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYWRkVW5pdFByaW9yaXR5IH0gZnJvbSAnLi9wcmlvcml0aWVzJztcbmltcG9ydCB7IGFkZFVuaXRBbGlhcyB9IGZyb20gJy4vYWxpYXNlcyc7XG5pbXBvcnQgeyBEYXRlRm9ybWF0dGVyT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcblxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdE1pbnV0ZSgpIHtcbi8vIEZPUk1BVFRJTkdcblxuICBhZGRGb3JtYXRUb2tlbignbScsIFsnbW0nLCAyLCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGdldE1pbnV0ZXMoZGF0ZSwgb3B0cy5pc1VUQylcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbi8vIEFMSUFTRVNcblxuICBhZGRVbml0QWxpYXMoJ21pbnV0ZScsICdtJyk7XG5cbi8vIFBSSU9SSVRZXG5cbiAgYWRkVW5pdFByaW9yaXR5KCdtaW51dGUnLCAxNCk7XG5cbi8vIFBBUlNJTkdcblxuICBhZGRSZWdleFRva2VuKCdtJywgbWF0Y2gxdG8yKTtcbiAgYWRkUmVnZXhUb2tlbignbW0nLCBtYXRjaDF0bzIsIG1hdGNoMik7XG4gIGFkZFBhcnNlVG9rZW4oWydtJywgJ21tJ10sIE1JTlVURSk7XG59XG4iXX0=","// FORMATTING\nimport { addFormatToken } from '../format/format';\nimport { addRegexToken, match1, match1to3, match2, match3, matchUnsigned } from '../parse/regex';\nimport { MILLISECOND } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { addParseToken } from '../parse/token';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { getMilliseconds } from '../utils/date-getters';\nexport function initMillisecond() {\n addFormatToken('S', null, null, function (date, opts) {\n return (~~(getMilliseconds(date, opts.isUTC) / 100)).toString(10);\n });\n addFormatToken(null, ['SS', 2, false], null, function (date, opts) {\n return (~~(getMilliseconds(date, opts.isUTC) / 10)).toString(10);\n });\n addFormatToken(null, ['SSS', 3, false], null, function (date, opts) {\n return (getMilliseconds(date, opts.isUTC)).toString(10);\n });\n addFormatToken(null, ['SSSS', 4, false], null, function (date, opts) {\n return (getMilliseconds(date, opts.isUTC) * 10).toString(10);\n });\n addFormatToken(null, ['SSSSS', 5, false], null, function (date, opts) {\n return (getMilliseconds(date, opts.isUTC) * 100).toString(10);\n });\n addFormatToken(null, ['SSSSSS', 6, false], null, function (date, opts) {\n return (getMilliseconds(date, opts.isUTC) * 1000).toString(10);\n });\n addFormatToken(null, ['SSSSSSS', 7, false], null, function (date, opts) {\n return (getMilliseconds(date, opts.isUTC) * 10000).toString(10);\n });\n addFormatToken(null, ['SSSSSSSS', 8, false], null, function (date, opts) {\n return (getMilliseconds(date, opts.isUTC) * 100000).toString(10);\n });\n addFormatToken(null, ['SSSSSSSSS', 9, false], null, function (date, opts) {\n return (getMilliseconds(date, opts.isUTC) * 1000000).toString(10);\n });\n // ALIASES\n addUnitAlias('millisecond', 'ms');\n // PRIORITY\n addUnitPriority('millisecond', 16);\n // PARSING\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n let token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n function parseMs(input, array, config) {\n array[MILLISECOND] = toInt(parseFloat(`0.${input}`) * 1000);\n return config;\n }\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlsbGlzZWNvbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91bml0cy9taWxsaXNlY29uZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhO0FBRWIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE1BQU0sVUFBVSxlQUFlO0lBQzdCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFDNUIsVUFBUyxJQUFVLEVBQUUsSUFBMEI7UUFDN0MsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FDRixDQUFDO0lBRUYsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUN6QyxVQUFTLElBQVUsRUFBRSxJQUEwQjtRQUM3QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxD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LENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2QyxhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV4QyxJQUFJLEtBQUssQ0FBQztJQUNWLEtBQUssS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckQsYUFBYSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsU0FBUyxPQUFPLENBQUMsS0FBYSxFQUFFLEtBQWdCLEVBQUUsTUFBeUI7UUFDekUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRTVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLEtBQUssR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2xELGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNILFVBQVU7QUFDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRk9STUFUVElOR1xuXG5pbXBvcnQgeyBhZGRGb3JtYXRUb2tlbiB9IGZyb20gJy4uL2Zvcm1hdC9mb3JtYXQnO1xuaW1wb3J0IHsgYWRkUmVnZXhUb2tlbiwgbWF0Y2gxLCBtYXRjaDF0bzMsIG1hdGNoMiwgbWF0Y2gzLCBtYXRjaFVuc2lnbmVkIH0gZnJvbSAnLi4vcGFyc2UvcmVnZXgnO1xuaW1wb3J0IHsgTUlMTElTRUNPTkQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB0b0ludCB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IGFkZFBhcnNlVG9rZW4gfSBmcm9tICcuLi9wYXJzZS90b2tlbic7XG5pbXBvcnQgeyBEYXRlQXJyYXksIERhdGVGb3JtYXR0ZXJPcHRpb25zLCBXZWVrUGFyc2luZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFkZFVuaXRBbGlhcyB9IGZyb20gJy4vYWxpYXNlcyc7XG5pbXBvcnQgeyBhZGRVbml0UHJpb3JpdHkgfSBmcm9tICcuL3ByaW9yaXRpZXMnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuLi9jcmVhdGUvcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBnZXRNaWxsaXNlY29uZHMgfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TWlsbGlzZWNvbmQoKSB7XG4gIGFkZEZvcm1hdFRva2VuKCdTJywgbnVsbCwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gKH5+KGdldE1pbGxpc2Vjb25kcyhkYXRlLCBvcHRzLmlzVVRDKSAvIDEwMCkpLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkRm9ybWF0VG9rZW4obnVsbCwgWydTUycsIDIsIGZhbHNlXSwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gKH5+KGdldE1pbGxpc2Vjb25kcyhkYXRlLCBvcHRzLmlzVVRDKSAvIDEwKSkudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcblxuICBhZGRGb3JtYXRUb2tlbihudWxsLCBbJ1NTUycsIDMsIGZhbHNlXSwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gKGdldE1pbGxpc2Vjb25kcyhkYXRlLCBvcHRzLmlzVVRDKSkudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcbiAgYWRkRm9ybWF0VG9rZW4obnVsbCwgWydTU1NTJywgNCwgZmFsc2VdLCBudWxsLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAoZ2V0TWlsbGlzZWNvbmRzKGRhdGUsIG9wdHMuaXNVVEMpICogMTApLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnU1NTU1MnLCA1LCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIChnZXRNaWxsaXNlY29uZHMoZGF0ZSwgb3B0cy5pc1VUQykgKiAxMDApLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnU1NTU1NTJywgNiwgZmFsc2VdLCBudWxsLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAoZ2V0TWlsbGlzZWNvbmRzKGRhdGUsIG9wdHMuaXNVVEMpICogMTAwMCkudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcbiAgYWRkRm9ybWF0VG9rZW4obnVsbCwgWydTU1NTU1NTJywgNywgZmFsc2VdLCBudWxsLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAoZ2V0TWlsbGlzZWNvbmRzKGRhdGUsIG9wdHMuaXNVVEMpICogMTAwMDApLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnU1NTU1NTU1MnLCA4LCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIChnZXRNaWxsaXNlY29uZHMoZGF0ZSwgb3B0cy5pc1VUQykgKiAxMDAwMDApLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnU1NTU1NTU1NTJywgOSwgZmFsc2VdLCBudWxsLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAoZ2V0TWlsbGlzZWNvbmRzKGRhdGUsIG9wdHMuaXNVVEMpICogMTAwMDAwMCkudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcblxuXG4vLyBBTElBU0VTXG5cbiAgYWRkVW5pdEFsaWFzKCdtaWxsaXNlY29uZCcsICdtcycpO1xuXG4vLyBQUklPUklUWVxuXG4gIGFkZFVuaXRQcmlvcml0eSgnbWlsbGlzZWNvbmQnLCAxNik7XG5cbi8vIFBBUlNJTkdcblxuICBhZGRSZWdleFRva2VuKCdTJywgbWF0Y2gxdG8zLCBtYXRjaDEpO1xuICBhZGRSZWdleFRva2VuKCdTUycsIG1hdGNoMXRvMywgbWF0Y2gyKTtcbiAgYWRkUmVnZXhUb2tlbignU1NTJywgbWF0Y2gxdG8zLCBtYXRjaDMpO1xuXG4gIGxldCB0b2tlbjtcbiAgZm9yICh0b2tlbiA9ICdTU1NTJzsgdG9rZW4ubGVuZ3RoIDw9IDk7IHRva2VuICs9ICdTJykge1xuICAgIGFkZFJlZ2V4VG9rZW4odG9rZW4sIG1hdGNoVW5zaWduZWQpO1xuICB9XG5cbiAgZnVuY3Rpb24gcGFyc2VNcyhpbnB1dDogc3RyaW5nLCBhcnJheTogRGF0ZUFycmF5LCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICAgIGFycmF5W01JTExJU0VDT05EXSA9IHRvSW50KHBhcnNlRmxvYXQoYDAuJHtpbnB1dH1gKSAqIDEwMDApO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIGZvciAodG9rZW4gPSAnUyc7IHRva2VuLmxlbmd0aCA8PSA5OyB0b2tlbiArPSAnUycpIHtcbiAgICBhZGRQYXJzZVRva2VuKHRva2VuLCBwYXJzZU1zKTtcbiAgfVxuLy8gTU9NRU5UU1xufVxuIl19","import { getHours, getMinutes, getSeconds } from '../utils/date-getters';\nimport { addFormatToken } from '../format/format';\nimport { zeroFill } from '../utils/zero-fill';\nimport { addRegexToken, match1to2, match2, match3to4, match5to6 } from '../parse/regex';\nimport { addParseToken } from '../parse/token';\nimport { HOUR, MINUTE, SECOND } from './constants';\nimport { toInt } from '../utils/type-checks';\nimport { getParsingFlags } from '../create/parsing-flags';\nimport { addUnitPriority } from './priorities';\nimport { addUnitAlias } from './aliases';\nexport function initHour() {\n // FORMATTING\n function hFormat(date, isUTC) {\n return getHours(date, isUTC) % 12 || 12;\n }\n function kFormat(date, isUTC) {\n return getHours(date, isUTC) || 24;\n }\n addFormatToken('H', ['HH', 2, false], null, function (date, opts) {\n return getHours(date, opts.isUTC)\n .toString(10);\n });\n addFormatToken('h', ['hh', 2, false], null, function (date, opts) {\n return hFormat(date, opts.isUTC)\n .toString(10);\n });\n addFormatToken('k', ['kk', 2, false], null, function (date, opts) {\n return kFormat(date, opts.isUTC)\n .toString(10);\n });\n addFormatToken('hmm', null, null, function (date, opts) {\n const _h = hFormat(date, opts.isUTC);\n const _mm = zeroFill(getMinutes(date, opts.isUTC), 2);\n return `${_h}${_mm}`;\n });\n addFormatToken('hmmss', null, null, function (date, opts) {\n const _h = hFormat(date, opts.isUTC);\n const _mm = zeroFill(getMinutes(date, opts.isUTC), 2);\n const _ss = zeroFill(getSeconds(date, opts.isUTC), 2);\n return `${_h}${_mm}${_ss}`;\n });\n addFormatToken('Hmm', null, null, function (date, opts) {\n const _H = getHours(date, opts.isUTC);\n const _mm = zeroFill(getMinutes(date, opts.isUTC), 2);\n return `${_H}${_mm}`;\n });\n addFormatToken('Hmmss', null, null, function (date, opts) {\n const _H = getHours(date, opts.isUTC);\n const _mm = zeroFill(getMinutes(date, opts.isUTC), 2);\n const _ss = zeroFill(getSeconds(date, opts.isUTC), 2);\n return `${_H}${_mm}${_ss}`;\n });\n function meridiem(token, lowercase) {\n addFormatToken(token, null, null, function (date, opts) {\n return opts.locale.meridiem(getHours(date, opts.isUTC), getMinutes(date, opts.isUTC), lowercase);\n });\n }\n meridiem('a', true);\n meridiem('A', false);\n // ALIASES\n addUnitAlias('hour', 'h');\n // PRIORITY\n addUnitPriority('hour', 13);\n // PARSING\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\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 addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n const kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n return config;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n return config;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n return config;\n });\n addParseToken('hmm', function (input, array, config) {\n const 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 return config;\n });\n addParseToken('hmmss', function (input, array, config) {\n const pos1 = input.length - 4;\n const 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 return config;\n });\n addParseToken('Hmm', function (input, array, config) {\n const pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n return config;\n });\n addParseToken('Hmmss', function (input, array, config) {\n const pos1 = input.length - 4;\n const 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 return config;\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL3VuaXRzL2hvdXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHekMsTUFBTSxVQUFVLFFBQVE7SUFDeEIsYUFBYTtJQUVYLFNBQVMsT0FBTyxDQUFDLElBQVUsRUFBRSxLQUFjO1FBQ3pDLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTLE9BQU8sQ0FBQyxJQUFVLEVBQUUsS0FBYztRQUN6QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBRyxFQUFFLENB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LE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUFDO0FBRUwsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEhvdXJzLCBnZXRNaW51dGVzLCBnZXRTZWNvbmRzIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IGFkZEZvcm1hdFRva2VuIH0gZnJvbSAnLi4vZm9ybWF0L2Zvcm1hdCc7XG5pbXBvcnQgeyB6ZXJvRmlsbCB9IGZyb20gJy4uL3V0aWxzL3plcm8tZmlsbCc7XG5pbXBvcnQgeyBMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGFkZFJlZ2V4VG9rZW4sIG1hdGNoMXRvMiwgbWF0Y2gyLCBtYXRjaDN0bzQsIG1hdGNoNXRvNiB9IGZyb20gJy4uL3BhcnNlL3JlZ2V4JztcbmltcG9ydCB7IGFkZFBhcnNlVG9rZW4gfSBmcm9tICcuLi9wYXJzZS90b2tlbic7XG5pbXBvcnQgeyBIT1VSLCBNSU5VVEUsIFNFQ09ORCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHRvSW50IH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgRGF0ZUFycmF5LCBEYXRlRm9ybWF0dGVyT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi4vY3JlYXRlL3BhcnNpbmcudHlwZXMnO1xuaW1wb3J0IHsgZ2V0UGFyc2luZ0ZsYWdzIH0gZnJvbSAnLi4vY3JlYXRlL3BhcnNpbmctZmxhZ3MnO1xuaW1wb3J0IHsgYWRkVW5pdFByaW9yaXR5IH0gZnJvbSAnLi9wcmlvcml0aWVzJztcbmltcG9ydCB7IGFkZFVuaXRBbGlhcyB9IGZyb20gJy4vYWxpYXNlcyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRIb3VyKCkge1xuLy8gRk9STUFUVElOR1xuXG4gIGZ1bmN0aW9uIGhGb3JtYXQoZGF0ZTogRGF0ZSwgaXNVVEM6IGJvb2xlYW4pOiBudW1iZXIge1xuICAgIHJldHVybiBnZXRIb3VycyhkYXRlLCBpc1VUQykgJSAxMiB8fCAxMjtcbiAgfVxuXG4gIGZ1bmN0aW9uIGtGb3JtYXQoZGF0ZTogRGF0ZSwgaXNVVEM6IGJvb2xlYW4pOiBudW1iZXIge1xuICAgIHJldHVybiBnZXRIb3VycyhkYXRlLCBpc1VUQykgfHwgMjQ7XG4gIH1cblxuICBhZGRGb3JtYXRUb2tlbignSCcsIFsnSEgnLCAyLCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGdldEhvdXJzKGRhdGUsIG9wdHMuaXNVVEMpXG4gICAgICAgIC50b1N0cmluZygxMCk7XG4gICAgfVxuICApO1xuICBhZGRGb3JtYXRUb2tlbignaCcsIFsnaGgnLCAyLCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGhGb3JtYXQoZGF0ZSwgb3B0cy5pc1VUQylcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG4gIGFkZEZvcm1hdFRva2VuKCdrJywgWydraycsIDIsIGZhbHNlXSwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4ga0Zvcm1hdChkYXRlLCBvcHRzLmlzVVRDKVxuICAgICAgICAudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcblxuICBhZGRGb3JtYXRUb2tlbignaG1tJywgbnVsbCwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBfaCA9IGhGb3JtYXQoZGF0ZSwgb3B0cy5pc1VUQyk7XG4gICAgICBjb25zdCBfbW0gPSB6ZXJvRmlsbChnZXRNaW51dGVzKGRhdGUsIG9wdHMuaXNVVEMpLCAyKTtcblxuICAgICAgcmV0dXJuIGAke19ofSR7X21tfWA7XG4gICAgfVxuICApO1xuXG4gIGFkZEZvcm1hdFRva2VuKCdobW1zcycsIG51bGwsIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgY29uc3QgX2ggPSBoRm9ybWF0KGRhdGUsIG9wdHMuaXNVVEMpO1xuICAgICAgY29uc3QgX21tID0gemVyb0ZpbGwoZ2V0TWludXRlcyhkYXRlLCBvcHRzLmlzVVRDKSwgMik7XG4gICAgICBjb25zdCBfc3MgPSB6ZXJvRmlsbChnZXRTZWNvbmRzKGRhdGUsIG9wdHMuaXNVVEMpLCAyKTtcblxuICAgICAgcmV0dXJuIGAke19ofSR7X21tfSR7X3NzfWA7XG4gICAgfVxuICApO1xuXG4gIGFkZEZvcm1hdFRva2VuKCdIbW0nLCBudWxsLCBudWxsLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IF9IID0gZ2V0SG91cnMoZGF0ZSwgb3B0cy5pc1VUQyk7XG4gICAgICBjb25zdCBfbW0gPSB6ZXJvRmlsbChnZXRNaW51dGVzKGRhdGUsIG9wdHMuaXNVVEMpLCAyKTtcblxuICAgICAgcmV0dXJuIGAke19IfSR7X21tfWA7XG4gICAgfVxuICApO1xuXG4gIGFkZEZvcm1hdFRva2VuKCdIbW1zcycsIG51bGwsIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgY29uc3QgX0ggPSBnZXRIb3VycyhkYXRlLCBvcHRzLmlzVVRDKTtcbiAgICAgIGNvbnN0IF9tbSA9IHplcm9GaWxsKGdldE1pbnV0ZXMoZGF0ZSwgb3B0cy5pc1VUQyksIDIpO1xuICAgICAgY29uc3QgX3NzID0gemVyb0ZpbGwoZ2V0U2Vjb25kcyhkYXRlLCBvcHRzLmlzVVRDKSwgMik7XG5cbiAgICAgIHJldHVybiBgJHtfSH0ke19tbX0ke19zc31gO1xuICAgIH1cbiAgKTtcblxuICBmdW5jdGlvbiBtZXJpZGllbSh0b2tlbjogc3RyaW5nLCBsb3dlcmNhc2U6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBhZGRGb3JtYXRUb2tlbih0b2tlbiwgbnVsbCwgbnVsbCxcbiAgICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG9wdHMubG9jYWxlLm1lcmlkaWVtKGdldEhvdXJzKGRhdGUsIG9wdHMuaXNVVEMpLCBnZXRNaW51dGVzKGRhdGUsIG9wdHMuaXNVVEMpLCBsb3dlcmNhc2UpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBtZXJpZGllbSgnYScsIHRydWUpO1xuICBtZXJpZGllbSgnQScsIGZhbHNlKTtcblxuLy8gQUxJQVNFU1xuXG4gIGFkZFVuaXRBbGlhcygnaG91cicsICdoJyk7XG5cbi8vIFBSSU9SSVRZXG4gIGFkZFVuaXRQcmlvcml0eSgnaG91cicsIDEzKTtcblxuXG4vLyBQQVJTSU5HXG5cbiAgZnVuY3Rpb24gbWF0Y2hNZXJpZGllbShpc1N0cmljdDogYm9vbGVhbiwgbG9jYWxlOiBMb2NhbGUpOiBSZWdFeHAge1xuICAgIHJldHVybiBsb2NhbGUuX21lcmlkaWVtUGFyc2U7XG4gIH1cblxuICBhZGRSZWdleFRva2VuKCdhJywgbWF0Y2hNZXJpZGllbSk7XG4gIGFkZFJlZ2V4VG9rZW4oJ0EnLCBtYXRjaE1lcmlkaWVtKTtcbiAgYWRkUmVnZXhUb2tlbignSCcsIG1hdGNoMXRvMik7XG4gIGFkZFJlZ2V4VG9rZW4oJ2gnLCBtYXRjaDF0bzIpO1xuICBhZGRSZWdleFRva2VuKCdrJywgbWF0Y2gxdG8yKTtcbiAgYWRkUmVnZXhUb2tlbignSEgnLCBtYXRjaDF0bzIsIG1hdGNoMik7XG4gIGFkZFJlZ2V4VG9rZW4oJ2hoJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICBhZGRSZWdleFRva2VuKCdraycsIG1hdGNoMXRvMiwgbWF0Y2gyKTtcblxuICBhZGRSZWdleFRva2VuKCdobW0nLCBtYXRjaDN0bzQpO1xuICBhZGRSZWdleFRva2VuKCdobW1zcycsIG1hdGNoNXRvNik7XG4gIGFkZFJlZ2V4VG9rZW4oJ0htbScsIG1hdGNoM3RvNCk7XG4gIGFkZFJlZ2V4VG9rZW4oJ0htbXNzJywgbWF0Y2g1dG82KTtcblxuICBhZGRQYXJzZVRva2VuKFsnSCcsICdISCddLCBIT1VSKTtcbiAgYWRkUGFyc2VUb2tlbihcbiAgICBbJ2snLCAna2snXSxcbiAgICBmdW5jdGlvbihpbnB1dDogc3RyaW5nLCBhcnJheTogRGF0ZUFycmF5LCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICAgICAgY29uc3Qga0lucHV0ID0gdG9JbnQoaW5wdXQpO1xuICAgICAgYXJyYXlbSE9VUl0gPSBrSW5wdXQgPT09IDI0ID8gMCA6IGtJbnB1dDtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG4gICk7XG4gIGFkZFBhcnNlVG9rZW4oWydhJywgJ0EnXSwgZnVuY3Rpb24oaW5wdXQ6IHN0cmluZywgYXJyYXk6IERhdGVBcnJheSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICBjb25maWcuX2lzUG0gPSBjb25maWcuX2xvY2FsZS5pc1BNKGlucHV0KTtcbiAgICBjb25maWcuX21lcmlkaWVtID0gaW5wdXQ7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9KTtcbiAgYWRkUGFyc2VUb2tlbihbJ2gnLCAnaGgnXSwgZnVuY3Rpb24oaW5wdXQ6IHN0cmluZywgYXJyYXk6IERhdGVBcnJheSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICBhcnJheVtIT1VSXSA9IHRvSW50KGlucHV0KTtcbiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdHJ1ZTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH0pO1xuICBhZGRQYXJzZVRva2VuKCdobW0nLCBmdW5jdGlvbihpbnB1dDogc3RyaW5nLCBhcnJheTogRGF0ZUFycmF5LCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICAgIGNvbnN0IHBvcyA9IGlucHV0Lmxlbmd0aCAtIDI7XG4gICAgYXJyYXlbSE9VUl0gPSB0b0ludChpbnB1dC5zdWJzdHIoMCwgcG9zKSk7XG4gICAgYXJyYXlbTUlOVVRFXSA9IHRvSW50KGlucHV0LnN1YnN0cihwb3MpKTtcbiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdHJ1ZTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH0pO1xuICBhZGRQYXJzZVRva2VuKCdobW1zcycsIGZ1bmN0aW9uKGlucHV0OiBzdHJpbmcsIGFycmF5OiBEYXRlQXJyYXksIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gICAgY29uc3QgcG9zMSA9IGlucHV0Lmxlbmd0aCAtIDQ7XG4gICAgY29uc3QgcG9zMiA9IGlucHV0Lmxlbmd0aCAtIDI7XG4gICAgYXJyYXlbSE9VUl0gPSB0b0ludChpbnB1dC5zdWJzdHIoMCwgcG9zMSkpO1xuICAgIGFycmF5W01JTlVURV0gPSB0b0ludChpbnB1dC5zdWJzdHIocG9zMSwgMikpO1xuICAgIGFycmF5W1NFQ09ORF0gPSB0b0ludChpbnB1dC5zdWJzdHIocG9zMikpO1xuICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmJpZ0hvdXIgPSB0cnVlO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSk7XG4gIGFkZFBhcnNlVG9rZW4oJ0htbScsIGZ1bmN0aW9uKGlucHV0OiBzdHJpbmcsIGFycmF5OiBEYXRlQXJyYXksIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gICAgY29uc3QgcG9zID0gaW5wdXQubGVuZ3RoIC0gMjtcbiAgICBhcnJheVtIT1VSXSA9IHRvSW50KGlucHV0LnN1YnN0cigwLCBwb3MpKTtcbiAgICBhcnJheVtNSU5VVEVdID0gdG9JbnQoaW5wdXQuc3Vic3RyKHBvcykpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSk7XG4gIGFkZFBhcnNlVG9rZW4oJ0htbXNzJywgZnVuY3Rpb24oaW5wdXQ6IHN0cmluZywgYXJyYXk6IERhdGVBcnJheSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICBjb25zdCBwb3MxID0gaW5wdXQubGVuZ3RoIC0gNDtcbiAgICBjb25zdCBwb3MyID0gaW5wdXQubGVuZ3RoIC0gMjtcbiAgICBhcnJheVtIT1VSXSA9IHRvSW50KGlucHV0LnN1YnN0cigwLCBwb3MxKSk7XG4gICAgYXJyYXlbTUlOVVRFXSA9IHRvSW50KGlucHV0LnN1YnN0cihwb3MxLCAyKSk7XG4gICAgYXJyYXlbU0VDT05EXSA9IHRvSW50KGlucHV0LnN1YnN0cihwb3MyKSk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9KTtcblxufVxuIl19","// internal storage for locale config files\nimport { Locale } from './locale.class';\nimport { baseConfig } from './locale.defaults';\nimport { hasOwnProp, isArray, isObject, isString, isUndefined, toInt } from '../utils/type-checks';\nimport { compareArrays } from '../utils/compare-arrays';\nimport { initWeek } from '../units/week';\nimport { initWeekYear } from '../units/week-year';\nimport { initYear } from '../units/year';\nimport { initTimezone } from '../units/timezone';\nimport { initTimestamp } from '../units/timestamp';\nimport { initSecond } from '../units/second';\nimport { initQuarter } from '../units/quarter';\nimport { initOffset } from '../units/offset';\nimport { initMinute } from '../units/minute';\nimport { initMillisecond } from '../units/millisecond';\nimport { initMonth } from '../units/month';\nimport { initHour } from '../units/hour';\nimport { initDayOfYear } from '../units/day-of-year';\nimport { initDayOfWeek } from '../units/day-of-week';\nimport { initDayOfMonth } from '../units/day-of-month';\nconst locales = {};\nconst localeFamilies = {};\nlet globalLocale;\nfunction normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\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,\n// but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names) {\n let next;\n let locale;\n let i = 0;\n while (i < names.length) {\n const split = normalizeLocale(names[i]).split('-');\n let 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 null;\n}\nexport function mergeConfigs(parentConfig, childConfig) {\n const res = Object.assign({}, parentConfig);\n for (const childProp in childConfig) {\n if (!hasOwnProp(childConfig, childProp)) {\n continue;\n }\n if (isObject(parentConfig[childProp]) && isObject(childConfig[childProp])) {\n res[childProp] = {};\n Object.assign(res[childProp], parentConfig[childProp]);\n Object.assign(res[childProp], childConfig[childProp]);\n }\n else if (childConfig[childProp] != null) {\n res[childProp] = childConfig[childProp];\n }\n else {\n delete res[childProp];\n }\n }\n for (const parentProp in parentConfig) {\n if (hasOwnProp(parentConfig, parentProp) &&\n !hasOwnProp(childConfig, parentProp) &&\n isObject(parentConfig[parentProp])) {\n // make sure changes to properties don't modify parent config\n res[parentProp] = Object.assign({}, res[parentProp]);\n }\n }\n return res;\n}\nfunction loadLocale(name) {\n // no way!\n /* var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }*/\n if (!locales[name]) {\n console.error(`Khronos locale error: please load locale \"${name}\" before using it`);\n // throw new Error(`Khronos locale error: please load locale \"${name}\" before using it`);\n }\n return locales[name];\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.\nexport function getSetGlobalLocale(key, values) {\n let data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else if (isString(key)) {\n data = defineLocale(key, values);\n }\n if (data) {\n globalLocale = data;\n }\n }\n return globalLocale && globalLocale._abbr;\n}\nexport function defineLocale(name, config) {\n if (config === null) {\n // useful for testing\n delete locales[name];\n globalLocale = getLocale('en');\n return null;\n }\n if (!config) {\n return;\n }\n let parentConfig = baseConfig;\n config.abbr = name;\n if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n }\n else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({ name, config });\n return null;\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\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 return locales[name];\n}\nexport function updateLocale(name, config) {\n let _config = config;\n if (_config != null) {\n let parentConfig = baseConfig;\n // MERGE\n const tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n _config = mergeConfigs(parentConfig, _config);\n const locale = new Locale(_config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n }\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 }\n else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n}\n// returns locale data\nexport function getLocale(key) {\n setDefaultLocale();\n if (!key) {\n return globalLocale;\n }\n // let locale;\n const _key = isArray(key) ? key : [key];\n return chooseLocale(_key);\n}\nexport function listLocales() {\n return Object.keys(locales);\n}\nfunction setDefaultLocale() {\n if (locales[`en`]) {\n return undefined;\n }\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal(num) {\n const b = num % 10;\n const output = toInt((num % 100) / 10) === 1\n ? 'th'\n : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return num + output;\n }\n });\n initWeek();\n initWeekYear();\n initYear();\n initTimezone();\n initTimestamp();\n initSecond();\n initQuarter();\n initOffset();\n initMonth();\n initMinute();\n initMillisecond();\n initHour();\n initDayOfYear();\n initDayOfWeek();\n initDayOfMonth();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL2xvY2FsZS9sb2NhbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFF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LE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBRWxCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7UUFDdkIsc0JBQXNCLEVBQUUsc0JBQXNCO1FBQzlDLE9BQU8sQ0FBQyxHQUFXO1lBQ2pCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxNQUFNLEdBQ1YsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFFOUQsT0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxRQUFRLEVBQUUsQ0FBQztJQUNYLFlBQVksRUFBRSxDQUFDO0lBQ2YsUUFBUSxFQUFFLENBQUM7SUFDWCxZQUFZLEVBQUUsQ0FBQztJQUNmLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFQUFFLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQztJQUNiLFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLENBQUM7SUFDYixlQUFlLEVBQUUsQ0FBQztJQUNsQixRQUFRLEVBQUUsQ0FBQztJQUNYLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGNBQWMsRUFBRSxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbnRlcm5hbCBzdG9yYWdlIGZvciBsb2NhbGUgY29uZmlnIGZpbGVzXG5pbXBvcnQgeyBMb2NhbGUsIExvY2FsZURhdGEgfSBmcm9tICcuL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBiYXNlQ29uZmlnIH0gZnJvbSAnLi9sb2NhbGUuZGVmYXVsdHMnO1xuaW1wb3J0IHsgaGFzT3duUHJvcCwgaXNBcnJheSwgaXNPYmplY3QsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZCwgdG9JbnQgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBjb21wYXJlQXJyYXlzIH0gZnJvbSAnLi4vdXRpbHMvY29tcGFyZS1hcnJheXMnO1xuXG5pbXBvcnQgeyBpbml0V2VlayB9IGZyb20gJy4uL3VuaXRzL3dlZWsnO1xuaW1wb3J0IHsgaW5pdFdlZWtZZWFyIH0gZnJvbSAnLi4vdW5pdHMvd2Vlay15ZWFyJztcbmltcG9ydCB7IGluaXRZZWFyIH0gZnJvbSAnLi4vdW5pdHMveWVhcic7XG5pbXBvcnQgeyBpbml0VGltZXpvbmUgfSBmcm9tICcuLi91bml0cy90aW1lem9uZSc7XG5pbXBvcnQgeyBpbml0VGltZXN0YW1wIH0gZnJvbSAnLi4vdW5pdHMvdGltZXN0YW1wJztcbmltcG9ydCB7IGluaXRTZWNvbmQgfSBmcm9tICcuLi91bml0cy9zZWNvbmQnO1xuaW1wb3J0IHsgaW5pdFF1YXJ0ZXIgfSBmcm9tICcuLi91bml0cy9xdWFydGVyJztcbmltcG9ydCB7IGluaXRPZmZzZXQgfSBmcm9tICcuLi91bml0cy9vZmZzZXQnO1xuaW1wb3J0IHsgaW5pdE1pbnV0ZSB9IGZyb20gJy4uL3VuaXRzL21pbnV0ZSc7XG5pbXBvcnQgeyBpbml0TWlsbGlzZWNvbmQgfSBmcm9tICcuLi91bml0cy9taWxsaXNlY29uZCc7XG5pbXBvcnQgeyBpbml0TW9udGggfSBmcm9tICcuLi91bml0cy9tb250aCc7XG5pbXBvcnQgeyBpbml0SG91ciB9IGZyb20gJy4uL3VuaXRzL2hvdXInO1xuaW1wb3J0IHsgaW5pdERheU9mWWVhciB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi15ZWFyJztcbmltcG9ydCB7IGluaXREYXlPZldlZWsgfSBmcm9tICcuLi91bml0cy9kYXktb2Ytd2Vlayc7XG5pbXBvcnQgeyBpbml0RGF5T2ZNb250aCB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi1tb250aCc7XG5cbmNvbnN0IGxvY2FsZXM6IHsgW2tleTogc3RyaW5nXTogTG9jYWxlIH0gPSB7fTtcbmNvbnN0IGxvY2FsZUZhbWlsaWVzOiB7IFtrZXk6IHN0cmluZ106IHtuYW1lOiBzdHJpbmc7IGNvbmZpZzogTG9jYWxlRGF0YX1bXSB9ID0ge307XG5sZXQgZ2xvYmFsTG9jYWxlOiBMb2NhbGU7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUxvY2FsZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBrZXkgPyBrZXkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdfJywgJy0nKSA6IGtleTtcbn1cblxuLy8gcGljayB0aGUgbG9jYWxlIGZyb20gdGhlIGFycmF5XG4vLyB0cnkgWydlbi1hdScsICdlbi1nYiddIGFzICdlbi1hdScsICdlbi1nYicsICdlbicsIGFzIGluIG1vdmUgdGhyb3VnaCB0aGUgbGlzdCB0cnlpbmcgZWFjaFxuLy8gc3Vic3RyaW5nIGZyb20gbW9zdCBzcGVjaWZpYyB0byBsZWFzdCxcbi8vIGJ1dCBtb3ZlIHRvIHRoZSBuZXh0IGFycmF5IGl0ZW0gaWYgaXQncyBhIG1vcmUgc3BlY2lmaWMgdmFyaWFudCB0aGFuIHRoZSBjdXJyZW50IHJvb3RcbmZ1bmN0aW9uIGNob29zZUxvY2FsZShuYW1lczogc3RyaW5nW10pOiBMb2NhbGUge1xuICBsZXQgbmV4dDtcbiAgbGV0IGxvY2FsZTtcbiAgbGV0IGkgPSAwO1xuXG4gIHdoaWxlIChpIDwgbmFtZXMubGVuZ3RoKSB7XG4gICAgY29uc3Qgc3BsaXQgPSBub3JtYWxpemVMb2NhbGUobmFtZXNbaV0pLnNwbGl0KCctJyk7XG4gICAgbGV0IGogPSBzcGxpdC5sZW5ndGg7XG4gICAgbmV4dCA9IG5vcm1hbGl6ZUxvY2FsZShuYW1lc1tpICsgMV0pO1xuICAgIG5leHQgPSBuZXh0ID8gbmV4dC5zcGxpdCgnLScpIDogbnVsbDtcbiAgICB3aGlsZSAoaiA+IDApIHtcbiAgICAgIGxvY2FsZSA9IGxvYWRMb2NhbGUoc3BsaXQuc2xpY2UoMCwgaikuam9pbignLScpKTtcbiAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZTtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0ICYmIG5leHQubGVuZ3RoID49IGogJiYgY29tcGFyZUFycmF5cyhzcGxpdCwgbmV4dCwgdHJ1ZSkgPj0gaiAtIDEpIHtcbiAgICAgICAgLy8gdGhlIG5leHQgYXJyYXkgaXRlbSBpcyBiZXR0ZXIgdGhhbiBhIHNoYWxsb3dlciBzdWJzdHJpbmcgb2YgdGhpcyBvbmVcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBqLS07XG4gICAgfVxuICAgIGkrKztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDb25maWdzKHBhcmVudENvbmZpZzogTG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRDb25maWc6IExvY2FsZURhdGEpIHtcbiAgY29uc3QgcmVzOiBMb2NhbGVEYXRhID0gT2JqZWN0LmFzc2lnbih7fSwgcGFyZW50Q29uZmlnKTtcblxuICBmb3IgKGNvbnN0IGNoaWxkUHJvcCBpbiBjaGlsZENvbmZpZykge1xuICAgIGlmICghaGFzT3duUHJvcChjaGlsZENvbmZpZywgY2hpbGRQcm9wKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGlzT2JqZWN0KHBhcmVudENvbmZpZ1tjaGlsZFByb3BdKSAmJiBpc09iamVjdChjaGlsZENvbmZpZ1tjaGlsZFByb3BdKSkge1xuICAgICAgcmVzW2NoaWxkUHJvcCBhcyBhbnldID0ge307XG4gICAgICBPYmplY3QuYXNzaWduKHJlc1tjaGlsZFByb3BdLCBwYXJlbnRDb25maWdbY2hpbGRQcm9wXSk7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc1tjaGlsZFByb3BdLCBjaGlsZENvbmZpZ1tjaGlsZFByb3BdKTtcbiAgICB9IGVsc2UgaWYgKGNoaWxkQ29uZmlnW2NoaWxkUHJvcF0gIT0gbnVsbCkge1xuICAgICAgcmVzW2NoaWxkUHJvcCBhcyBhbnldID0gY2hpbGRDb25maWdbY2hpbGRQcm9wXTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHJlc1tjaGlsZFByb3AgYXMgYW55XTtcbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCBwYXJlbnRQcm9wIGluIHBhcmVudENvbmZpZykge1xuICAgIGlmIChcbiAgICAgIGhhc093blByb3AocGFyZW50Q29uZmlnLCBwYXJlbnRQcm9wKSAmJlxuICAgICAgIWhhc093blByb3AoY2hpbGRDb25maWcsIHBhcmVudFByb3ApICYmXG4gICAgICBpc09iamVjdChwYXJlbnRDb25maWdbcGFyZW50UHJvcCBhcyBrZXlvZiBMb2NhbGVEYXRhXSlcbiAgICApIHtcbiAgICAgIC8vIG1ha2Ugc3VyZSBjaGFuZ2VzIHRvIHByb3BlcnRpZXMgZG9uJ3QgbW9kaWZ5IHBhcmVudCBjb25maWdcbiAgICAgIHJlc1twYXJlbnRQcm9wIGFzIGFueV0gPSBPYmplY3QuYXNzaWduKHt9LCByZXNbcGFyZW50UHJvcCBhcyBrZXlvZiBMb2NhbGVEYXRhXSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlcztcbn1cblxuXG5mdW5jdGlvbiBsb2FkTG9jYWxlKG5hbWU6IHN0cmluZyk6IExvY2FsZSB7XG4gIC8vIG5vIHdheSFcbiAgLyogdmFyIG9sZExvY2FsZSA9IG51bGw7XG4gICAvLyBUT0RPOiBGaW5kIGEgYmV0dGVyIHdheSB0byByZWdpc3RlciBhbmQgbG9hZCBhbGwgdGhlIGxvY2FsZXMgaW4gTm9kZVxuICAgaWYgKCFsb2NhbGVzW25hbWVdICYmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykgJiZcbiAgICAgbW9kdWxlICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gICAgIHRyeSB7XG4gICAgICAgb2xkTG9jYWxlID0gZ2xvYmFsTG9jYWxlLl9hYmJyO1xuICAgICAgIHZhciBhbGlhc2VkUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgICAgYWxpYXNlZFJlcXVpcmUoJy4vbG9jYWxlLycgKyBuYW1lKTtcbiAgICAgICBnZXRTZXRHbG9iYWxMb2NhbGUob2xkTG9jYWxlKTtcbiAgICAgfSBjYXRjaCAoZSkge31cbiAgIH0qL1xuICBpZiAoIWxvY2FsZXNbbmFtZV0pIHtcbiAgICBjb25zb2xlLmVycm9yKGBLaHJvbm9zIGxvY2FsZSBlcnJvcjogcGxlYXNlIGxvYWQgbG9jYWxlIFwiJHtuYW1lfVwiIGJlZm9yZSB1c2luZyBpdGApO1xuICAgIC8vIHRocm93IG5ldyBFcnJvcihgS2hyb25vcyBsb2NhbGUgZXJyb3I6IHBsZWFzZSBsb2FkIGxvY2FsZSBcIiR7bmFtZX1cIiBiZWZvcmUgdXNpbmcgaXRgKTtcbiAgfVxuXG4gIHJldHVybiBsb2NhbGVzW25hbWVdO1xufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIHdpbGwgbG9hZCBsb2NhbGUgYW5kIHRoZW4gc2V0IHRoZSBnbG9iYWwgbG9jYWxlLiAgSWZcbi8vIG5vIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGluLCBpdCB3aWxsIHNpbXBseSByZXR1cm4gdGhlIGN1cnJlbnQgZ2xvYmFsXG4vLyBsb2NhbGUga2V5LlxuZXhwb3J0IGZ1bmN0aW9uIGdldFNldEdsb2JhbExvY2FsZShrZXk/OiBzdHJpbmcgfCBzdHJpbmdbXSwgdmFsdWVzPzogTG9jYWxlRGF0YSk6IHN0cmluZyB7XG4gIGxldCBkYXRhOiBMb2NhbGU7XG5cbiAgaWYgKGtleSkge1xuICAgIGlmIChpc1VuZGVmaW5lZCh2YWx1ZXMpKSB7XG4gICAgICBkYXRhID0gZ2V0TG9jYWxlKGtleSk7XG4gICAgfSBlbHNlIGlmIChpc1N0cmluZyhrZXkpKSB7XG4gICAgICBkYXRhID0gZGVmaW5lTG9jYWxlKGtleSwgdmFsdWVzKTtcbiAgICB9XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgZ2xvYmFsTG9jYWxlID0gZGF0YTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZ2xvYmFsTG9jYWxlICYmIGdsb2JhbExvY2FsZS5fYWJicjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUxvY2FsZShuYW1lOiBzdHJpbmcsIGNvbmZpZz86IExvY2FsZURhdGEpOiBMb2NhbGUge1xuICBpZiAoY29uZmlnID09PSBudWxsKSB7XG4gICAgLy8gdXNlZnVsIGZvciB0ZXN0aW5nXG4gICAgZGVsZXRlIGxvY2FsZXNbbmFtZV07XG4gICAgZ2xvYmFsTG9jYWxlID0gZ2V0TG9jYWxlKCdlbicpO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoIWNvbmZpZykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCBwYXJlbnRDb25maWcgPSBiYXNlQ29uZmlnO1xuICBjb25maWcuYWJiciA9IG5hbWU7XG4gIGlmIChjb25maWcucGFyZW50TG9jYWxlICE9IG51bGwpIHtcbiAgICBpZiAobG9jYWxlc1tjb25maWcucGFyZW50TG9jYWxlXSAhPSBudWxsKSB7XG4gICAgICBwYXJlbnRDb25maWcgPSBsb2NhbGVzW2NvbmZpZy5wYXJlbnRMb2NhbGVdLl9jb25maWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghbG9jYWxlRmFtaWxpZXNbY29uZmlnLnBhcmVudExvY2FsZV0pIHtcbiAgICAgICAgbG9jYWxlRmFtaWxpZXNbY29uZmlnLnBhcmVudExvY2FsZV0gPSBbXTtcbiAgICAgIH1cbiAgICAgIGxvY2FsZUZhbWlsaWVzW2NvbmZpZy5wYXJlbnRMb2NhbGVdLnB1c2goeyBuYW1lLCBjb25maWcgfSk7XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGxvY2FsZXNbbmFtZV0gPSBuZXcgTG9jYWxlKG1lcmdlQ29uZmlncyhwYXJlbnRDb25maWcsIGNvbmZpZykpO1xuXG4gIGlmIChsb2NhbGVGYW1pbGllc1tuYW1lXSkge1xuICAgIGxvY2FsZUZhbWlsaWVzW25hbWVdLmZvckVhY2goZnVuY3Rpb24gKHgpIHtcbiAgICAgIGRlZmluZUxvY2FsZSh4Lm5hbWUsIHguY29uZmlnKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXQgZm9yIG5vdzogYWxzbyBzZXQgdGhlIGxvY2FsZVxuICAvLyBtYWtlIHN1cmUgd2Ugc2V0IHRoZSBsb2NhbGUgQUZURVIgYWxsIGNoaWxkIGxvY2FsZXMgaGF2ZSBiZWVuXG4gIC8vIGNyZWF0ZWQsIHNvIHdlIHdvbid0IGVuZCB1cCB3aXRoIHRoZSBjaGlsZCBsb2NhbGUgc2V0LlxuICBnZXRTZXRHbG9iYWxMb2NhbGUobmFtZSk7XG5cblxuICByZXR1cm4gbG9jYWxlc1tuYW1lXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUxvY2FsZShuYW1lOiBzdHJpbmcsIGNvbmZpZz86IExvY2FsZURhdGEpOiBMb2NhbGUge1xuICBsZXQgX2NvbmZpZyA9IGNvbmZpZztcblxuICBpZiAoX2NvbmZpZyAhPSBudWxsKSB7XG4gICAgbGV0IHBhcmVudENvbmZpZyA9IGJhc2VDb25maWc7XG4gICAgLy8gTUVSR0VcbiAgICBjb25zdCB0bXBMb2NhbGUgPSBsb2FkTG9jYWxlKG5hbWUpO1xuICAgIGlmICh0bXBMb2NhbGUgIT0gbnVsbCkge1xuICAgICAgcGFyZW50Q29uZmlnID0gdG1wTG9jYWxlLl9jb25maWc7XG4gICAgfVxuICAgIF9jb25maWcgPSBtZXJnZUNvbmZpZ3MocGFyZW50Q29uZmlnLCBfY29uZmlnKTtcbiAgICBjb25zdCBsb2NhbGUgPSBuZXcgTG9jYWxlKF9jb25maWcpO1xuICAgIGxvY2FsZS5wYXJlbnRMb2NhbGUgPSBsb2NhbGVzW25hbWVdO1xuICAgIGxvY2FsZXNbbmFtZV0gPSBsb2NhbGU7XG5cbiAgICAvLyBiYWNrd2FyZHMgY29tcGF0IGZvciBub3c6IGFsc28gc2V0IHRoZSBsb2NhbGVcbiAgICBnZXRTZXRHbG9iYWxMb2NhbGUobmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gcGFzcyBudWxsIGZvciBjb25maWcgdG8gdW51cGRhdGUsIHVzZWZ1bCBmb3IgdGVzdHNcbiAgICBpZiAobG9jYWxlc1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBpZiAobG9jYWxlc1tuYW1lXS5wYXJlbnRMb2NhbGUgIT0gbnVsbCkge1xuICAgICAgICBsb2NhbGVzW25hbWVdID0gbG9jYWxlc1tuYW1lXS5wYXJlbnRMb2NhbGU7XG4gICAgICB9IGVsc2UgaWYgKGxvY2FsZXNbbmFtZV0gIT0gbnVsbCkge1xuICAgICAgICBkZWxldGUgbG9jYWxlc1tuYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbG9jYWxlc1tuYW1lXTtcbn1cblxuLy8gcmV0dXJucyBsb2NhbGUgZGF0YVxuZXhwb3J0IGZ1bmN0aW9uIGdldExvY2FsZShrZXk/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IExvY2FsZSB7XG4gIHNldERlZmF1bHRMb2NhbGUoKTtcblxuICBpZiAoIWtleSkge1xuICAgIHJldHVybiBnbG9iYWxMb2NhbGU7XG4gIH1cbiAgLy8gbGV0IGxvY2FsZTtcbiAgY29uc3QgX2tleSA9IGlzQXJyYXkoa2V5KSA/IGtleSA6IFtrZXldO1xuXG4gIHJldHVybiBjaG9vc2VMb2NhbGUoX2tleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0TG9jYWxlcygpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbGVzKTtcbn1cblxuZnVuY3Rpb24gc2V0RGVmYXVsdExvY2FsZSgpOiB2b2lkIHtcbiAgaWYgKGxvY2FsZXNbYGVuYF0pIHtcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRTZXRHbG9iYWxMb2NhbGUoJ2VuJywge1xuICAgIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfSh0aHxzdHxuZHxyZCkvLFxuICAgIG9yZGluYWwobnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYiA9IG51bSAlIDEwO1xuICAgICAgY29uc3Qgb3V0cHV0ID1cbiAgICAgICAgdG9JbnQoKG51bSAlIDEwMCkgLyAxMCkgPT09IDFcbiAgICAgICAgICA/ICd0aCdcbiAgICAgICAgICA6IGIgPT09IDEgPyAnc3QnIDogYiA9PT0gMiA/ICduZCcgOiBiID09PSAzID8gJ3JkJyA6ICd0aCc7XG5cbiAgICAgIHJldHVybiBudW0gKyBvdXRwdXQ7XG4gICAgfVxuICB9KTtcblxuICBpbml0V2VlaygpO1xuICBpbml0V2Vla1llYXIoKTtcbiAgaW5pdFllYXIoKTtcbiAgaW5pdFRpbWV6b25lKCk7XG4gIGluaXRUaW1lc3RhbXAoKTtcbiAgaW5pdFNlY29uZCgpO1xuICBpbml0UXVhcnRlcigpO1xuICBpbml0T2Zmc2V0KCk7XG4gIGluaXRNb250aCgpO1xuICBpbml0TWludXRlKCk7XG4gIGluaXRNaWxsaXNlY29uZCgpO1xuICBpbml0SG91cigpO1xuICBpbml0RGF5T2ZZZWFyKCk7XG4gIGluaXREYXlPZldlZWsoKTtcbiAgaW5pdERheU9mTW9udGgoKTtcbn1cbiJdfQ==","import { toInt } from '../utils/type-checks';\nconst ordering = ['year', 'quarter', 'month', 'week', 'day', 'hours', 'minutes', 'seconds', 'milliseconds'];\nconst orderingHash = ordering.reduce((mem, order) => {\n mem[order] = true;\n return mem;\n}, {});\nexport function isDurationValid(duration) {\n const durationKeys = Object.keys(duration);\n if (durationKeys\n .some((key) => {\n return (key in orderingHash)\n && duration[key] === null\n || isNaN(duration[key]);\n })) {\n return false;\n }\n // for (let key in duration) {\n // if (!(indexOf.call(ordering, key) !== -1 && (duration[key] == null || !isNaN(duration[key])))) {\n // return false;\n // }\n // }\n let unitHasDecimal = false;\n for (let i = 0; i < ordering.length; ++i) {\n if (duration[ordering[i]]) {\n // only allow non-integers for smallest unit\n if (unitHasDecimal) {\n return false;\n }\n if (duration[ordering[i]] !== toInt(duration[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n return true;\n}\n// export function isValid() {\n// return this._isValid;\n// }\n//\n// export function createInvalid(): Duration {\n// return createDuration(NaN);\n// }\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9kdXJhdGlvbi92YWxpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLN0MsTUFBTSxRQUFRLEdBQXlCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUNsSSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBK0IsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUM5RSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBRWxCLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRVAsTUFBTSxVQUFVLGVBQWUsQ0FBQyxRQUE2QjtJQUMzRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLElBQUksWUFBWTtTQUNYLElBQUksQ0FBQyxDQUFDLEdBQXFCLEVBQUUsRUFBRTtRQUM5QixPQUFPLENBQUMsR0FBRyxJQUFJLFlBQVksQ0FBQztlQUN2QixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSTtlQUN0QixLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELDhCQUE4QjtJQUM5QixxR0FBcUc7SUFDckcsb0JBQW9CO0lBQ3BCLE1BQU07SUFDTixJQUFJO0lBRUosSUFBSSxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDekMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxQiw0Q0FBNEM7WUFDNUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzNELGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsOEJBQThCO0FBQzlCLDBCQUEwQjtBQUMxQixJQUFJO0FBQ0osRUFBRTtBQUNGLDhDQUE4QztBQUM5QyxnQ0FBZ0M7QUFDaEMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvSW50IH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgY3JlYXRlRHVyYXRpb24gfSBmcm9tICcuL2NyZWF0ZSc7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJy4vY29uc3RydWN0b3InO1xuaW1wb3J0IHsgRGF0ZU9iamVjdCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3Qgb3JkZXJpbmc6IChrZXlvZiBEYXRlT2JqZWN0KVtdID0gWyd5ZWFyJywgJ3F1YXJ0ZXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknLCAnaG91cnMnLCAnbWludXRlcycsICdzZWNvbmRzJywgJ21pbGxpc2Vjb25kcyddO1xuY29uc3Qgb3JkZXJpbmdIYXNoID0gb3JkZXJpbmcucmVkdWNlKChtZW06IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9LCBvcmRlcikgPT4ge1xuICBtZW1bb3JkZXJdID0gdHJ1ZTtcblxuICByZXR1cm4gbWVtO1xufSwge30pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEdXJhdGlvblZhbGlkKGR1cmF0aW9uOiBQYXJ0aWFsPERhdGVPYmplY3Q+KTogYm9vbGVhbiB7XG4gIGNvbnN0IGR1cmF0aW9uS2V5cyA9IE9iamVjdC5rZXlzKGR1cmF0aW9uKTtcbiAgaWYgKGR1cmF0aW9uS2V5c1xuICAgICAgLnNvbWUoKGtleToga2V5b2YgRGF0ZU9iamVjdCkgPT4ge1xuICAgICAgICByZXR1cm4gKGtleSBpbiBvcmRlcmluZ0hhc2gpXG4gICAgICAgICAgJiYgZHVyYXRpb25ba2V5XSA9PT0gbnVsbFxuICAgICAgICAgIHx8IGlzTmFOKGR1cmF0aW9uW2tleV0pO1xuICAgICAgfSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gZm9yIChsZXQga2V5IGluIGR1cmF0aW9uKSB7XG4gIC8vICAgaWYgKCEoaW5kZXhPZi5jYWxsKG9yZGVyaW5nLCBrZXkpICE9PSAtMSAmJiAoZHVyYXRpb25ba2V5XSA9PSBudWxsIHx8ICFpc05hTihkdXJhdGlvbltrZXldKSkpKSB7XG4gIC8vICAgICByZXR1cm4gZmFsc2U7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgbGV0IHVuaXRIYXNEZWNpbWFsID0gZmFsc2U7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgb3JkZXJpbmcubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoZHVyYXRpb25bb3JkZXJpbmdbaV1dKSB7XG4gICAgICAvLyBvbmx5IGFsbG93IG5vbi1pbnRlZ2VycyBmb3Igc21hbGxlc3QgdW5pdFxuICAgICAgaWYgKHVuaXRIYXNEZWNpbWFsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChkdXJhdGlvbltvcmRlcmluZ1tpXV0gIT09IHRvSW50KGR1cmF0aW9uW29yZGVyaW5nW2ldXSkpIHtcbiAgICAgICAgdW5pdEhhc0RlY2ltYWwgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vLyBleHBvcnQgZnVuY3Rpb24gaXNWYWxpZCgpIHtcbi8vICAgcmV0dXJuIHRoaXMuX2lzVmFsaWQ7XG4vLyB9XG4vL1xuLy8gZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUludmFsaWQoKTogRHVyYXRpb24ge1xuLy8gICByZXR1cm4gY3JlYXRlRHVyYXRpb24oTmFOKTtcbi8vIH1cbiJdfQ==","export function absCeil(number) {\n return number < 0 ? Math.floor(number) : Math.ceil(number);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzLWNlaWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91dGlscy9hYnMtY2VpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsT0FBTyxDQUFFLE1BQWM7SUFDckMsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYWJzQ2VpbCAobnVtYmVyOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gbnVtYmVyIDwgMCA/IE1hdGguZmxvb3IobnVtYmVyKSA6IE1hdGguY2VpbChudW1iZXIpO1xufVxuIl19","import { absFloor } from '../utils';\nimport { absCeil } from '../utils/abs-ceil';\nexport function bubble(dur) {\n let milliseconds = dur._milliseconds;\n let days = dur._days;\n let months = dur._months;\n const data = dur._data;\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) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n const seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n const minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n const hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n days += absFloor(hours / 24);\n // convert days to months\n const monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n // 12 months -> 1 year\n const years = absFloor(months / 12);\n months %= 12;\n data.day = days;\n data.month = months;\n data.year = years;\n return dur;\n}\nexport function daysToMonths(day) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return day * 4800 / 146097;\n}\nexport function monthsToDays(month) {\n // the reverse of daysToMonths\n return month * 146097 / 4800;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvZHVyYXRpb24vYnViYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBYTtJQUNsQyxJQUFJLFlBQVksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQ3JDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDckIsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUN6QixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBRXZCLHNFQUFzRTtJQUN0RSxzREFBc0Q7SUFDdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JELFlBQVksSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUM3RCxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsK0JBQStCO0lBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQztJQUV4QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUU1QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUU1QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUV4QixJQUFJLElBQUksUUFBUSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztJQUU3Qix5QkFBeUI7SUFDekIsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sSUFBSSxjQUFjLENBQUM7SUFDekIsSUFBSSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUU5QyxzQkFBc0I7SUFDdEIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNwQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBRWIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFFbEIsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLG1FQUFtRTtJQUNuRSxvQ0FBb0M7SUFDcEMsT0FBTyxHQUFHLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhO0lBQ3hDLDhCQUE4QjtJQUM5QixPQUFPLEtBQUssR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJy4vY29uc3RydWN0b3InO1xuaW1wb3J0IHsgYWJzRmxvb3IgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBhYnNDZWlsIH0gZnJvbSAnLi4vdXRpbHMvYWJzLWNlaWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gYnViYmxlKGR1cjogRHVyYXRpb24pOiBEdXJhdGlvbiB7XG4gIGxldCBtaWxsaXNlY29uZHMgPSBkdXIuX21pbGxpc2Vjb25kcztcbiAgbGV0IGRheXMgPSBkdXIuX2RheXM7XG4gIGxldCBtb250aHMgPSBkdXIuX21vbnRocztcbiAgY29uc3QgZGF0YSA9IGR1ci5fZGF0YTtcblxuICAvLyBpZiB3ZSBoYXZlIGEgbWl4IG9mIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSB2YWx1ZXMsIGJ1YmJsZSBkb3duIGZpcnN0XG4gIC8vIGNoZWNrOiBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMjE2NlxuICBpZiAoISgobWlsbGlzZWNvbmRzID49IDAgJiYgZGF5cyA+PSAwICYmIG1vbnRocyA+PSAwKSB8fFxuICAgICAgKG1pbGxpc2Vjb25kcyA8PSAwICYmIGRheXMgPD0gMCAmJiBtb250aHMgPD0gMCkpKSB7XG4gICAgbWlsbGlzZWNvbmRzICs9IGFic0NlaWwobW9udGhzVG9EYXlzKG1vbnRocykgKyBkYXlzKSAqIDg2NGU1O1xuICAgIGRheXMgPSAwO1xuICAgIG1vbnRocyA9IDA7XG4gIH1cblxuICAvLyBUaGUgZm9sbG93aW5nIGNvZGUgYnViYmxlcyB1cCB2YWx1ZXMsIHNlZSB0aGUgdGVzdHMgZm9yXG4gIC8vIGV4YW1wbGVzIG9mIHdoYXQgdGhhdCBtZWFucy5cbiAgZGF0YS5taWxsaXNlY29uZHMgPSBtaWxsaXNlY29uZHMgJSAxMDAwO1xuXG4gIGNvbnN0IHNlY29uZHMgPSBhYnNGbG9vcihtaWxsaXNlY29uZHMgLyAxMDAwKTtcbiAgZGF0YS5zZWNvbmRzID0gc2Vjb25kcyAlIDYwO1xuXG4gIGNvbnN0IG1pbnV0ZXMgPSBhYnNGbG9vcihzZWNvbmRzIC8gNjApO1xuICBkYXRhLm1pbnV0ZXMgPSBtaW51dGVzICUgNjA7XG5cbiAgY29uc3QgaG91cnMgPSBhYnNGbG9vcihtaW51dGVzIC8gNjApO1xuICBkYXRhLmhvdXJzID0gaG91cnMgJSAyNDtcblxuICBkYXlzICs9IGFic0Zsb29yKGhvdXJzIC8gMjQpO1xuXG4gIC8vIGNvbnZlcnQgZGF5cyB0byBtb250aHNcbiAgY29uc3QgbW9udGhzRnJvbURheXMgPSBhYnNGbG9vcihkYXlzVG9Nb250aHMoZGF5cykpO1xuICBtb250aHMgKz0gbW9udGhzRnJvbURheXM7XG4gIGRheXMgLT0gYWJzQ2VpbChtb250aHNUb0RheXMobW9udGhzRnJvbURheXMpKTtcblxuICAvLyAxMiBtb250aHMgLT4gMSB5ZWFyXG4gIGNvbnN0IHllYXJzID0gYWJzRmxvb3IobW9udGhzIC8gMTIpO1xuICBtb250aHMgJT0gMTI7XG5cbiAgZGF0YS5kYXkgPSBkYXlzO1xuICBkYXRhLm1vbnRoID0gbW9udGhzO1xuICBkYXRhLnllYXIgPSB5ZWFycztcblxuICByZXR1cm4gZHVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF5c1RvTW9udGhzKGRheTogbnVtYmVyKTogbnVtYmVyIHtcbiAgLy8gNDAwIHllYXJzIGhhdmUgMTQ2MDk3IGRheXMgKHRha2luZyBpbnRvIGFjY291bnQgbGVhcCB5ZWFyIHJ1bGVzKVxuICAvLyA0MDAgeWVhcnMgaGF2ZSAxMiBtb250aHMgPT09IDQ4MDBcbiAgcmV0dXJuIGRheSAqIDQ4MDAgLyAxNDYwOTc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb250aHNUb0RheXMobW9udGg6IG51bWJlcik6IG51bWJlciB7XG4gIC8vIHRoZSByZXZlcnNlIG9mIGRheXNUb01vbnRoc1xuICByZXR1cm4gbW9udGggKiAxNDYwOTcgLyA0ODAwO1xufVxuIl19","import { createDuration } from './create';\nlet round = Math.round;\nconst 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// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\nfunction substituteTimeAgo(str, num, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(num || 1, !!withoutSuffix, str, isFuture);\n}\nexport function relativeTime(posNegDuration, withoutSuffix, locale) {\n const duration = createDuration(posNegDuration).abs();\n const seconds = round(duration.as('s'));\n const minutes = round(duration.as('m'));\n const hours = round(duration.as('h'));\n const days = round(duration.as('d'));\n const months = round(duration.as('M'));\n const years = round(duration.as('y'));\n const a = 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 months <= 1 && ['M'] ||\n months < thresholds[\"M\"] && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n const b = [a[0], a[1], withoutSuffix, +posNegDuration > 0, locale];\n // a[2] = withoutSuffix;\n // a[3] = +posNegDuration > 0;\n // a[4] = locale;\n return substituteTimeAgo.apply(null, b);\n}\n// This function allows you to set the rounding function for relative time strings\nexport 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// This function allows you to set a threshold for relative time strings\nexport 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// export function humanize(withSuffix) {\n// if (!this.isValid()) {\n// return this.localeData().invalidDate();\n// }\n//\n// const locale = this.localeData();\n// let output = relativeTime(this, !withSuffix, locale);\n//\n// if (withSuffix) {\n// output = locale.pastFuture(+this, output);\n// }\n//\n// return locale.postformat(output);\n// }\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW5pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9kdXJhdGlvbi9odW1hbml6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSTFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDdkIsTUFBTSxVQUFVLEdBQThCO0lBQzVDLEVBQUUsRUFBRSxFQUFFLEVBQVUsMkJBQTJCO0lBQzNDLENBQUMsRUFBRSxFQUFFLEVBQVUsb0JBQW9CO0lBQ25DLENBQUMsRUFBRSxFQUFFLEVBQVUsa0JBQWtCO0lBQ2pDLENBQUMsRUFBRSxFQUFFLEVBQVUsZUFBZTtJQUM5QixDQUFDLEVBQUUsRUFBRSxFQUFVLGdCQUFnQjtJQUMvQixDQUFDLEVBQUUsRUFBRSxDQUFVLGlCQUFpQjtDQUNqQyxDQUFDO0FBRUYseUZBQXlGO0FBQ3pGLFNBQVMsaUJBQWlCLENBQUMsR0FBc0IsRUFBRSxHQUFXLEVBQ25DLGFBQXNCLEVBQUUsUUFBaUIsRUFDekMsTUFBYztJQUN2QyxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxjQUF3QixFQUFFLGFBQXNCLEVBQUUsTUFBYztJQUMzRixNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLE1B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LENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsMkJBQTJCO0FBQzNCLDhDQUE4QztBQUM5QyxNQUFNO0FBQ04sRUFBRTtBQUNGLHNDQUFzQztBQUN0QywwREFBMEQ7QUFDMUQsRUFBRTtBQUNGLHNCQUFzQjtBQUN0QixpREFBaUQ7QUFDakQsTUFBTTtBQUNOLEVBQUU7QUFDRixzQ0FBc0M7QUFDdEMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUR1cmF0aW9uIH0gZnJvbSAnLi9jcmVhdGUnO1xuaW1wb3J0IHsgTG9jYWxlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJy4vY29uc3RydWN0b3InO1xuXG5sZXQgcm91bmQgPSBNYXRoLnJvdW5kO1xuY29uc3QgdGhyZXNob2xkczogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHtcbiAgc3M6IDQ0LCAgICAgICAgIC8vIGEgZmV3IHNlY29uZHMgdG8gc2Vjb25kc1xuICBzOiA0NSwgICAgICAgICAvLyBzZWNvbmRzIHRvIG1pbnV0ZVxuICBtOiA0NSwgICAgICAgICAvLyBtaW51dGVzIHRvIGhvdXJcbiAgaDogMjIsICAgICAgICAgLy8gaG91cnMgdG8gZGF5XG4gIGQ6IDI2LCAgICAgICAgIC8vIGRheXMgdG8gbW9udGhcbiAgTTogMTEgICAgICAgICAgLy8gbW9udGhzIHRvIHllYXJcbn07XG5cbi8vIGhlbHBlciBmdW5jdGlvbiBmb3IgbW9tZW50LmZuLmZyb20sIG1vbWVudC5mbi5mcm9tTm93LCBhbmQgbW9tZW50LmR1cmF0aW9uLmZuLmh1bWFuaXplXG5mdW5jdGlvbiBzdWJzdGl0dXRlVGltZUFnbyhzdHI6ICdmdXR1cmUnIHwgJ3Bhc3QnLCBudW06IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXRTdWZmaXg6IGJvb2xlYW4sIGlzRnV0dXJlOiBib29sZWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBMb2NhbGUpOiBzdHJpbmcge1xuICByZXR1cm4gbG9jYWxlLnJlbGF0aXZlVGltZShudW0gfHwgMSwgISF3aXRob3V0U3VmZml4LCBzdHIsIGlzRnV0dXJlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbGF0aXZlVGltZShwb3NOZWdEdXJhdGlvbjogRHVyYXRpb24sIHdpdGhvdXRTdWZmaXg6IGJvb2xlYW4sIGxvY2FsZTogTG9jYWxlKTogc3RyaW5nIHtcbiAgY29uc3QgZHVyYXRpb24gPSBjcmVhdGVEdXJhdGlvbihwb3NOZWdEdXJhdGlvbikuYWJzKCk7XG4gIGNvbnN0IHNlY29uZHMgPSByb3VuZChkdXJhdGlvbi5hcygncycpKTtcbiAgY29uc3QgbWludXRlcyA9IHJvdW5kKGR1cmF0aW9uLmFzKCdtJykpO1xuICBjb25zdCBob3VycyA9IHJvdW5kKGR1cmF0aW9uLmFzKCdoJykpO1xuICBjb25zdCBkYXlzID0gcm91bmQoZHVyYXRpb24uYXMoJ2QnKSk7XG4gIGNvbnN0IG1vbnRocyA9IHJvdW5kKGR1cmF0aW9uLmFzKCdNJykpO1xuICBjb25zdCB5ZWFycyA9IHJvdW5kKGR1cmF0aW9uLmFzKCd5JykpO1xuXG4gIGNvbnN0IGE6IFtzdHJpbmddIHwgW3N0cmluZywgbnVtYmVyXSA9XG4gICAgc2Vjb25kcyA8PSB0aHJlc2hvbGRzW1wic3NcIl0gJiYgWydzJywgc2Vjb25kc10gfHxcbiAgICBzZWNvbmRzIDwgdGhyZXNob2xkc1tcInNcIl0gJiYgWydzcycsIHNlY29uZHNdIHx8XG4gICAgbWludXRlcyA8PSAxICYmIFsnbSddIHx8XG4gICAgbWludXRlcyA8IHRocmVzaG9sZHNbXCJtXCJdICYmIFsnbW0nLCBtaW51dGVzXSB8fFxuICAgIGhvdXJzIDw9IDEgJiYgWydoJ10gfHxcbiAgICBob3VycyA8IHRocmVzaG9sZHNbXCJoXCJdICYmIFsnaGgnLCBob3Vyc10gfHxcbiAgICBkYXlzIDw9IDEgJiYgWydkJ10gfHxcbiAgICBkYXlzIDwgdGhyZXNob2xkc1tcImRcIl0gJiYgWydkZCcsIGRheXNdIHx8XG4gICAgbW9udGhzIDw9IDEgJiYgWydNJ10gfHxcbiAgICBtb250aHMgPCB0aHJlc2hvbGRzW1wiTVwiXSAmJiBbJ01NJywgbW9udGhzXSB8fFxuICAgIHllYXJzIDw9IDEgJiYgWyd5J10gfHwgWyd5eScsIHllYXJzXTtcblxuICBjb25zdCBiOiBbc3RyaW5nLCBudW1iZXIgfCBzdHJpbmcsIGJvb2xlYW4sIGJvb2xlYW4sIExvY2FsZV0gPVxuICAgIFthWzBdLCBhWzFdLCB3aXRob3V0U3VmZml4LCArcG9zTmVnRHVyYXRpb24gPiAwLCBsb2NhbGVdO1xuICAvLyBhWzJdID0gd2l0aG91dFN1ZmZpeDtcbiAgLy8gYVszXSA9ICtwb3NOZWdEdXJhdGlvbiA+IDA7XG4gIC8vIGFbNF0gPSBsb2NhbGU7XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGVUaW1lQWdvLmFwcGx5KG51bGwsIGIpO1xufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gc2V0IHRoZSByb3VuZGluZyBmdW5jdGlvbiBmb3IgcmVsYXRpdmUgdGltZSBzdHJpbmdzXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2V0UmVsYXRpdmVUaW1lUm91bmRpbmcocm91bmRpbmdGdW5jdGlvbjogYW55KTogYm9vbGVhbiB8ICgoeDogbnVtYmVyKSA9PiBudW1iZXIpIHtcbiAgaWYgKHJvdW5kaW5nRnVuY3Rpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiByb3VuZDtcbiAgfVxuICBpZiAodHlwZW9mKHJvdW5kaW5nRnVuY3Rpb24pID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcm91bmQgPSByb3VuZGluZ0Z1bmN0aW9uO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byBzZXQgYSB0aHJlc2hvbGQgZm9yIHJlbGF0aXZlIHRpbWUgc3RyaW5nc1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNldFJlbGF0aXZlVGltZVRocmVzaG9sZCh0aHJlc2hvbGQ6IHN0cmluZywgbGltaXQ6IG51bWJlcik6IGJvb2xlYW4gfCBudW1iZXIge1xuICBpZiAodGhyZXNob2xkc1t0aHJlc2hvbGRdID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKGxpbWl0ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdGhyZXNob2xkc1t0aHJlc2hvbGRdO1xuICB9XG4gIHRocmVzaG9sZHNbdGhyZXNob2xkXSA9IGxpbWl0O1xuICBpZiAodGhyZXNob2xkID09PSAncycpIHtcbiAgICB0aHJlc2hvbGRzW1wic3NcIl0gPSBsaW1pdCAtIDE7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLy8gZXhwb3J0IGZ1bmN0aW9uIGh1bWFuaXplKHdpdGhTdWZmaXgpIHtcbi8vICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkge1xuLy8gICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpO1xuLy8gICB9XG4vL1xuLy8gICBjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZURhdGEoKTtcbi8vICAgbGV0IG91dHB1dCA9IHJlbGF0aXZlVGltZSh0aGlzLCAhd2l0aFN1ZmZpeCwgbG9jYWxlKTtcbi8vXG4vLyAgIGlmICh3aXRoU3VmZml4KSB7XG4vLyAgICAgb3V0cHV0ID0gbG9jYWxlLnBhc3RGdXR1cmUoK3RoaXMsIG91dHB1dCk7XG4vLyAgIH1cbi8vXG4vLyAgIHJldHVybiBsb2NhbGUucG9zdGZvcm1hdChvdXRwdXQpO1xuLy8gfVxuIl19","import { getLocale } from '../locale/locales';\nimport { isDurationValid } from './valid';\nimport { bubble, daysToMonths, monthsToDays } from './bubble';\nimport { normalizeUnits } from '../units/aliases';\nimport { relativeTime } from './humanize';\nimport { toInt } from '../utils/type-checks';\nexport class Duration {\n constructor(duration, config = {}) {\n this._data = {};\n this._locale = getLocale();\n this._locale = config && config._locale || getLocale();\n // const normalizedInput = normalizeObjectUnits(duration);\n const normalizedInput = duration;\n const years = normalizedInput.year || 0;\n const quarters = normalizedInput.quarter || 0;\n const months = normalizedInput.month || 0;\n const weeks = normalizedInput.week || 0;\n const days = normalizedInput.day || 0;\n const hours = normalizedInput.hours || 0;\n const minutes = normalizedInput.minutes || 0;\n const seconds = normalizedInput.seconds || 0;\n const milliseconds = normalizedInput.milliseconds || 0;\n this._isValid = isDurationValid(normalizedInput);\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1000 +\n minutes * 60 * 1000 + // 1000 * 60\n hours * 1000 * 60 * 60; // using 1000 * 60 * 60\n // 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 +\n 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 +\n quarters * 3 +\n years * 12;\n // this._data = {};\n // this._locale = getLocale();\n // this._bubble();\n return bubble(this);\n }\n isValid() {\n return this._isValid;\n }\n humanize(withSuffix) {\n // throw new Error(`TODO: implement`);\n if (!this.isValid()) {\n return this.localeData().invalidDate;\n }\n const locale = this.localeData();\n let output = relativeTime(this, !withSuffix, locale);\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n return locale.postformat(output);\n }\n localeData() {\n return this._locale;\n }\n locale(localeKey) {\n if (!localeKey) {\n return this._locale._abbr;\n }\n this._locale = getLocale(localeKey) || this._locale;\n return this;\n }\n abs() {\n const mathAbs = Math.abs;\n const data = this._data;\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\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.month = mathAbs(data.month);\n data.year = mathAbs(data.year);\n return this;\n }\n as(_units) {\n if (!this.isValid()) {\n return NaN;\n }\n let days;\n let months;\n const milliseconds = this._milliseconds;\n const units = normalizeUnits(_units);\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n }\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 'hours':\n return days * 24 + milliseconds / 36e5;\n case 'minutes':\n return days * 1440 + milliseconds / 6e4;\n case 'seconds':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'milliseconds':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error(`Unknown unit ${units}`);\n }\n }\n valueOf() {\n if (!this.isValid()) {\n return NaN;\n }\n return (this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6);\n }\n}\nexport function isDuration(obj) {\n return obj instanceof Duration;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9kdXJhdGlvbi9jb25zdHJ1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxRQUFRO0lBUW5CLFlBQVksUUFBNkIsRUFBRSxTQUE0QixFQUFFO1FBSnpFLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBVyxTQUFTLEVBQUUsQ0FBQztRQUk1QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3ZELDBEQUEwRDtRQUMxRCxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdEMs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IjpbImltcG9ydCB7IGdldExvY2FsZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGVzJztcbmltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi4vY3JlYXRlL3BhcnNpbmcudHlwZXMnO1xuaW1wb3J0IHsgaXNEdXJhdGlvblZhbGlkIH0gZnJvbSAnLi92YWxpZCc7XG5pbXBvcnQgeyBidWJibGUsIGRheXNUb01vbnRocywgbW9udGhzVG9EYXlzIH0gZnJvbSAnLi9idWJibGUnO1xuaW1wb3J0IHsgRGF0ZU9iamVjdCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuaW1wb3J0IHsgbm9ybWFsaXplVW5pdHMgfSBmcm9tICcuLi91bml0cy9hbGlhc2VzJztcbmltcG9ydCB7IHJlbGF0aXZlVGltZSB9IGZyb20gJy4vaHVtYW5pemUnO1xuaW1wb3J0IHsgdG9JbnQgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5cbmV4cG9ydCBjbGFzcyBEdXJhdGlvbiB7XG4gIF9taWxsaXNlY29uZHM6IG51bWJlcjtcbiAgX2RheXM6IG51bWJlcjtcbiAgX21vbnRoczogbnVtYmVyO1xuICBfZGF0YTogUGFydGlhbDxEYXRlT2JqZWN0PiA9IHt9O1xuICBfbG9jYWxlOiBMb2NhbGUgPSBnZXRMb2NhbGUoKTtcbiAgX2lzVmFsaWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoZHVyYXRpb246IFBhcnRpYWw8RGF0ZU9iamVjdD4sIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcgPSB7fSkge1xuICAgIHRoaXMuX2xvY2FsZSA9IGNvbmZpZyAmJiBjb25maWcuX2xvY2FsZSB8fCBnZXRMb2NhbGUoKTtcbiAgICAvLyBjb25zdCBub3JtYWxpemVkSW5wdXQgPSBub3JtYWxpemVPYmplY3RVbml0cyhkdXJhdGlvbik7XG4gICAgY29uc3Qgbm9ybWFsaXplZElucHV0ID0gZHVyYXRpb247XG4gICAgY29uc3QgeWVhcnMgPSBub3JtYWxpemVkSW5wdXQueWVhciB8fCAwO1xuICAgIGNvbnN0IHF1YXJ0ZXJzID0gbm9ybWFsaXplZElucHV0LnF1YXJ0ZXIgfHwgMDtcbiAgICBjb25zdCBtb250aHMgPSBub3JtYWxpemVkSW5wdXQubW9udGggfHwgMDtcbiAgICBjb25zdCB3ZWVrcyA9IG5vcm1hbGl6ZWRJbnB1dC53ZWVrIHx8IDA7XG4gICAgY29uc3QgZGF5cyA9IG5vcm1hbGl6ZWRJbnB1dC5kYXkgfHwgMDtcbiAgICBjb25zdCBob3VycyA9IG5vcm1hbGl6ZWRJbnB1dC5ob3VycyB8fCAwO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBub3JtYWxpemVkSW5wdXQubWludXRlcyB8fCAwO1xuICAgIGNvbnN0IHNlY29uZHMgPSBub3JtYWxpemVkSW5wdXQuc2Vjb25kcyB8fCAwO1xuICAgIGNvbnN0IG1pbGxpc2Vjb25kcyA9IG5vcm1hbGl6ZWRJbnB1dC5taWxsaXNlY29uZHMgfHwgMDtcblxuICAgIHRoaXMuX2lzVmFsaWQgPSBpc0R1cmF0aW9uVmFsaWQobm9ybWFsaXplZElucHV0KTtcblxuICAgIC8vIHJlcHJlc2VudGF0aW9uIGZvciBkYXRlQWRkUmVtb3ZlXG4gICAgdGhpcy5fbWlsbGlzZWNvbmRzID0gK21pbGxpc2Vjb25kcyArXG4gICAgICBzZWNvbmRzICogMTAwMCArXG4gICAgICBtaW51dGVzICogNjAgKiAxMDAwICsgLy8gMTAwMCAqIDYwXG4gICAgICBob3VycyAqIDEwMDAgKiA2MCAqIDYwOyAvLyB1c2luZyAxMDAwICogNjAgKiA2MFxuICAgIC8vIGluc3RlYWQgb2YgMzZlNSB0byBhdm9pZCBmbG9hdGluZyBwb2ludCByb3VuZGluZyBlcnJvcnMgaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzI5NzhcbiAgICAvLyBCZWNhdXNlIG9mIGRhdGVBZGRSZW1vdmUgdHJlYXRzIDI0IGhvdXJzIGFzIGRpZmZlcmVudCBmcm9tIGFcbiAgICAvLyBkYXkgd2hlbiB3b3JraW5nIGFyb3VuZCBEU1QsIHdlIG5lZWQgdG8gc3RvcmUgdGhlbSBzZXBhcmF0ZWx5XG4gICAgdGhpcy5fZGF5cyA9ICtkYXlzICtcbiAgICAgIHdlZWtzICogNztcbiAgICAvLyBJdCBpcyBpbXBvc3NpYmxlIHRvIHRyYW5zbGF0ZSBtb250aHMgaW50byBkYXlzIHdpdGhvdXQga25vd2luZ1xuICAgIC8vIHdoaWNoIG1vbnRocyB5b3UgYXJlIGFyZSB0YWxraW5nIGFib3V0LCBzbyB3ZSBoYXZlIHRvIHN0b3JlXG4gICAgLy8gaXQgc2VwYXJhdGVseS5cbiAgICB0aGlzLl9tb250aHMgPSArbW9udGhzICtcbiAgICAgIHF1YXJ0ZXJzICogMyArXG4gICAgICB5ZWFycyAqIDEyO1xuXG4gICAgLy8gdGhpcy5fZGF0YSA9IHt9O1xuXG4gICAgLy8gdGhpcy5fbG9jYWxlID0gZ2V0TG9jYWxlKCk7XG5cbiAgICAvLyB0aGlzLl9idWJibGUoKTtcbiAgICByZXR1cm4gYnViYmxlKHRoaXMpO1xuICB9XG5cbiAgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNWYWxpZDtcbiAgfVxuXG4gIGh1bWFuaXplKHdpdGhTdWZmaXg/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYFRPRE86IGltcGxlbWVudGApO1xuXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMubG9jYWxlRGF0YSgpO1xuICAgIGxldCBvdXRwdXQgPSByZWxhdGl2ZVRpbWUodGhpcywgIXdpdGhTdWZmaXgsIGxvY2FsZSk7XG5cbiAgICBpZiAod2l0aFN1ZmZpeCkge1xuICAgICAgb3V0cHV0ID0gbG9jYWxlLnBhc3RGdXR1cmUoK3RoaXMsIG91dHB1dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxvY2FsZS5wb3N0Zm9ybWF0KG91dHB1dCk7XG4gIH1cblxuICBsb2NhbGVEYXRhKCk6IExvY2FsZSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZTtcbiAgfVxuXG4gIGxvY2FsZSgpOiBzdHJpbmc7XG4gIGxvY2FsZShsb2NhbGVLZXk6IHN0cmluZyk6IER1cmF0aW9uO1xuICBsb2NhbGUobG9jYWxlS2V5Pzogc3RyaW5nKTogRHVyYXRpb24gfCBzdHJpbmcge1xuICAgIGlmICghbG9jYWxlS2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5fbG9jYWxlLl9hYmJyO1xuICAgIH1cblxuICAgIHRoaXMuX2xvY2FsZSA9IGdldExvY2FsZShsb2NhbGVLZXkpIHx8IHRoaXMuX2xvY2FsZTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cblxuICBhYnMoKTogRHVyYXRpb24ge1xuICAgIGNvbnN0IG1hdGhBYnMgPSBNYXRoLmFicztcblxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9kYXRhO1xuXG4gICAgdGhpcy5fbWlsbGlzZWNvbmRzID0gbWF0aEFicyh0aGlzLl9taWxsaXNlY29uZHMpO1xuICAgIHRoaXMuX2RheXMgPSBtYXRoQWJzKHRoaXMuX2RheXMpO1xuICAgIHRoaXMuX21vbnRocyA9IG1hdGhBYnModGhpcy5fbW9udGhzKTtcblxuICAgIGRhdGEubWlsbGlzZWNvbmRzID0gbWF0aEFicyhkYXRhLm1pbGxpc2Vjb25kcyk7XG4gICAgZGF0YS5zZWNvbmRzID0gbWF0aEFicyhkYXRhLnNlY29uZHMpO1xuICAgIGRhdGEubWludXRlcyA9IG1hdGhBYnMoZGF0YS5taW51dGVzKTtcbiAgICBkYXRhLmhvdXJzID0gbWF0aEFicyhkYXRhLmhvdXJzKTtcbiAgICBkYXRhLm1vbnRoID0gbWF0aEFicyhkYXRhLm1vbnRoKTtcbiAgICBkYXRhLnllYXIgPSBtYXRoQWJzKGRhdGEueWVhcik7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFzKF91bml0czogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICByZXR1cm4gTmFOO1xuICAgIH1cbiAgICBsZXQgZGF5cztcbiAgICBsZXQgbW9udGhzO1xuICAgIGNvbnN0IG1pbGxpc2Vjb25kcyA9IHRoaXMuX21pbGxpc2Vjb25kcztcblxuICAgIGNvbnN0IHVuaXRzID0gbm9ybWFsaXplVW5pdHMoX3VuaXRzKTtcblxuICAgIGlmICh1bml0cyA9PT0gJ21vbnRoJyB8fCB1bml0cyA9PT0gJ3llYXInKSB7XG4gICAgICBkYXlzID0gdGhpcy5fZGF5cyArIG1pbGxpc2Vjb25kcyAvIDg2NGU1O1xuICAgICAgbW9udGhzID0gdGhpcy5fbW9udGhzICsgZGF5c1RvTW9udGhzKGRheXMpO1xuXG4gICAgICByZXR1cm4gdW5pdHMgPT09ICdtb250aCcgPyBtb250aHMgOiBtb250aHMgLyAxMjtcbiAgICB9XG5cbiAgICAvLyBoYW5kbGUgbWlsbGlzZWNvbmRzIHNlcGFyYXRlbHkgYmVjYXVzZSBvZiBmbG9hdGluZyBwb2ludCBtYXRoIGVycm9ycyAoaXNzdWUgIzE4NjcpXG4gICAgZGF5cyA9IHRoaXMuX2RheXMgKyBNYXRoLnJvdW5kKG1vbnRoc1RvRGF5cyh0aGlzLl9tb250aHMpKTtcbiAgICBzd2l0Y2ggKHVuaXRzKSB7XG4gICAgICBjYXNlICd3ZWVrJyAgIDpcbiAgICAgICAgcmV0dXJuIGRheXMgLyA3ICsgbWlsbGlzZWNvbmRzIC8gNjA0OGU1O1xuICAgICAgY2FzZSAnZGF5JyAgICA6XG4gICAgICAgIHJldHVybiBkYXlzICsgbWlsbGlzZWNvbmRzIC8gODY0ZTU7XG4gICAgICBjYXNlICdob3VycycgICA6XG4gICAgICAgIHJldHVybiBkYXlzICogMjQgKyBtaWxsaXNlY29uZHMgLyAzNmU1O1xuICAgICAgY2FzZSAnbWludXRlcycgOlxuICAgICAgICByZXR1cm4gZGF5cyAqIDE0NDAgKyBtaWxsaXNlY29uZHMgLyA2ZTQ7XG4gICAgICBjYXNlICdzZWNvbmRzJyA6XG4gICAgICAgIHJldHVybiBkYXlzICogODY0MDAgKyBtaWxsaXNlY29uZHMgLyAxMDAwO1xuICAgICAgLy8gTWF0aC5mbG9vciBwcmV2ZW50cyBmbG9hdGluZyBwb2ludCBtYXRoIGVycm9ycyBoZXJlXG4gICAgICBjYXNlICdtaWxsaXNlY29uZHMnOlxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihkYXlzICogODY0ZTUpICsgbWlsbGlzZWNvbmRzO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHVuaXQgJHt1bml0c31gKTtcbiAgICB9XG4gIH1cblxuICB2YWx1ZU9mICgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICByZXR1cm4gTmFOO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9taWxsaXNlY29uZHMgK1xuICAgICAgdGhpcy5fZGF5cyAqIDg2NGU1ICtcbiAgICAgICh0aGlzLl9tb250aHMgJSAxMikgKiAyNTkyZTYgK1xuICAgICAgdG9JbnQodGhpcy5fbW9udGhzIC8gMTIpICogMzE1MzZlNlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRHVyYXRpb24ob2JqOiBhbnkpOiBvYmogaXMgRHVyYXRpb24ge1xuICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRHVyYXRpb247XG59XG4iXX0=","import { getParsingFlags } from './parsing-flags';\nexport function isValid(config) {\n if (config._isValid == null) {\n const flags = getParsingFlags(config);\n const parsedParts = Array.prototype.some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n let isNowValid = !isNaN(config._d && config._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\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 (config._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n if (Object.isFrozen == null || !Object.isFrozen(config)) {\n config._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return config._isValid;\n}\nexport function createInvalid(config, flags) {\n config._d = new Date(NaN);\n Object.assign(getParsingFlags(config), flags || { userInvalidated: true });\n return config;\n}\nexport function markInvalid(config) {\n config._isValid = false;\n return config;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9jcmVhdGUvdmFsaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE1BQU0sVUFBVSxPQUFPLENBQUMsTUFBeUI7SUFDL0MsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQVM7WUFDdEYsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZELEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQztZQUNsQixDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQ1osQ0FBQyxLQUFLLENBQUMsWUFBWTtZQUNuQixDQUFDLEtBQUssQ0FBQyxjQUFjO1lBQ3JCLENBQUMsS0FBSyxDQUFDLGVBQWU7WUFDdEIsQ0FBQyxLQUFLLENBQUMsU0FBUztZQUNoQixDQUFDLEtBQUssQ0FBQyxhQUFhO1lBQ3BCLENBQUMsS0FBSyxDQUFDLGVBQWU7WUFDdEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFdkQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsVUFBVSxHQUFHLFVBQVU7Z0JBQ3JCLEtBQUssQ0FBQyxhQUFhLEtBQUssQ0FBQztnQkFDekIsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDL0IsS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUF5QixFQUFFLEtBQThCO0lBQ3JGLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFM0UsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBeUI7SUFDbkQsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFeEIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi9wYXJzaW5nLnR5cGVzJztcbmltcG9ydCB7IGdldFBhcnNpbmdGbGFncyB9IGZyb20gJy4vcGFyc2luZy1mbGFncyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkKGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBib29sZWFuIHtcbiAgaWYgKGNvbmZpZy5faXNWYWxpZCA9PSBudWxsKSB7XG4gICAgY29uc3QgZmxhZ3MgPSBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKTtcbiAgICBjb25zdCBwYXJzZWRQYXJ0cyA9IEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZmxhZ3MucGFyc2VkRGF0ZVBhcnRzLCBmdW5jdGlvbiAoaTogbnVtYmVyKSB7XG4gICAgICByZXR1cm4gaSAhPSBudWxsO1xuICAgIH0pO1xuICAgIGxldCBpc05vd1ZhbGlkID0gIWlzTmFOKGNvbmZpZy5fZCAmJiBjb25maWcuX2QuZ2V0VGltZSgpKSAmJlxuICAgICAgZmxhZ3Mub3ZlcmZsb3cgPCAwICYmXG4gICAgICAhZmxhZ3MuZW1wdHkgJiZcbiAgICAgICFmbGFncy5pbnZhbGlkTW9udGggJiZcbiAgICAgICFmbGFncy5pbnZhbGlkV2Vla2RheSAmJlxuICAgICAgIWZsYWdzLndlZWtkYXlNaXNtYXRjaCAmJlxuICAgICAgIWZsYWdzLm51bGxJbnB1dCAmJlxuICAgICAgIWZsYWdzLmludmFsaWRGb3JtYXQgJiZcbiAgICAgICFmbGFncy51c2VySW52YWxpZGF0ZWQgJiZcbiAgICAgICghZmxhZ3MubWVyaWRpZW0gfHwgKGZsYWdzLm1lcmlkaWVtICYmIHBhcnNlZFBhcnRzKSk7XG5cbiAgICBpZiAoY29uZmlnLl9zdHJpY3QpIHtcbiAgICAgIGlzTm93VmFsaWQgPSBpc05vd1ZhbGlkICYmXG4gICAgICAgIGZsYWdzLmNoYXJzTGVmdE92ZXIgPT09IDAgJiZcbiAgICAgICAgZmxhZ3MudW51c2VkVG9rZW5zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBmbGFncy5iaWdIb3VyID09PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5pc0Zyb3plbiA9PSBudWxsIHx8ICFPYmplY3QuaXNGcm96ZW4oY29uZmlnKSkge1xuICAgICAgY29uZmlnLl9pc1ZhbGlkID0gaXNOb3dWYWxpZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGlzTm93VmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5faXNWYWxpZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUludmFsaWQoY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZywgZmxhZ3M/OiB7IG51bGxJbnB1dDogYm9vbGVhbiB9KTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBjb25maWcuX2QgPSBuZXcgRGF0ZShOYU4pO1xuICBPYmplY3QuYXNzaWduKGdldFBhcnNpbmdGbGFncyhjb25maWcpLCBmbGFncyB8fCB7IHVzZXJJbnZhbGlkYXRlZDogdHJ1ZSB9KTtcblxuICByZXR1cm4gY29uZmlnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFya0ludmFsaWQoY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgY29uZmlnLl9pc1ZhbGlkID0gZmFsc2U7XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdfQ==","import { defaultLocaleMonthsShort, defaultLocaleWeekdaysShort } from '../locale/locale.class';\nimport { isString } from '../utils/type-checks';\nimport { configFromStringAndFormat } from './from-string-and-format';\nimport { createUTCDate } from './date-from-array';\nimport { createInvalid, markInvalid } from './valid';\nimport { getParsingFlags } from './parsing-flags';\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)\nconst 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)?)?$/;\nconst 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)?)?$/;\nconst tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\nconst isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/, true],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/, true],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/, true],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/, true],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/, true],\n ['YYYYMMDD', /\\d{8}/, true],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/, true],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/, true]\n];\n// iso time formats and regexes\nconst 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];\nconst aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\nconst 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// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\nconst 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// date from iso format\nexport function configFromISO(config) {\n if (!isString(config._i)) {\n return config;\n }\n const input = config._i;\n const match = extendedIsoRegex.exec(input) || basicIsoRegex.exec(input);\n let allowTime;\n let dateFormat;\n let timeFormat;\n let tzFormat;\n if (!match) {\n config._isValid = false;\n return config;\n }\n // getParsingFlags(config).iso = true;\n let i;\n let l;\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 config;\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 config;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return config;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n }\n else {\n config._isValid = false;\n return config;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n return configFromStringAndFormat(config);\n}\nfunction extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n const result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n return result;\n}\nfunction untruncateYear(yearStr) {\n const year = parseInt(yearStr, 10);\n return year <= 49 ? year + 2000 : year;\n}\nfunction preprocessRFC2822(str) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return str\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ').trim();\n}\nfunction checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n const weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr);\n const 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}\nfunction calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n }\n else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n }\n else {\n const hm = parseInt(numOffset, 10);\n const m = hm % 100;\n const h = (hm - m) / 100;\n return h * 60 + m;\n }\n}\n// date and time from ref 2822 format\nexport function configFromRFC2822(config) {\n if (!isString(config._i)) {\n return config;\n }\n const match = rfc2822.exec(preprocessRFC2822(config._i));\n if (!match) {\n return markInvalid(config);\n }\n const parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return config;\n }\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n getParsingFlags(config).rfc2822 = true;\n return config;\n}\n// date from iso format or fallback\nexport function configFromString(config) {\n if (!isString(config._i)) {\n return config;\n }\n const matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return config;\n }\n // todo: update logic processing\n // isISO -> configFromISO\n // isRFC -> configFromRFC\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n }\n else {\n return config;\n }\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n }\n else {\n return config;\n }\n // Final attempt, use Input Fallback\n // hooks.createFromInputFallback(config);\n return createInvalid(config);\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 and will be removed in an upcoming major release. Please refer to ' +\n// '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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1zdHJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9jcmVhdGUvZnJvbS1zdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsaUJBQWlCO0FBQ2pCLDRHQUE0RztBQUM1RyxNQUFNLGdCQUFnQixHQUFHLGtKQUFrSixDQUFDO0FBQzVLLE1BQU0sYUFBYSxHQUFHLDZJQUE2SSxDQUFDO0FBRXBLLE1BQU0sT0FBTyxHQUFHLHVCQUF1QixDQUFDO0FBRXhDLE1BQU0sUUFBUSxHQUFnQztJQUM1QyxDQUFDLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxJQUFJLENBQUM7SUFDN0MsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO0lBQ3ZDLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQztJQUN4QyxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQ3BDLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFDakMsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQztJQUNoQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLENB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O0FBQ3BHLHlGQUF5RjtBQUN6Rix1RUFBdUU7QUFDdkUsMEJBQTBCO0FBQzFCLDRFQUE0RTtBQUM1RSxRQUFRO0FBQ1IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydCwgZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IERhdGVBcnJheSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi9wYXJzaW5nLnR5cGVzJztcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdCB9IGZyb20gJy4vZnJvbS1zdHJpbmctYW5kLWZvcm1hdCc7XG5pbXBvcnQgeyBjcmVhdGVVVENEYXRlIH0gZnJvbSAnLi9kYXRlLWZyb20tYXJyYXknO1xuaW1wb3J0IHsgY3JlYXRlSW52YWxpZCwgbWFya0ludmFsaWQgfSBmcm9tICcuL3ZhbGlkJztcbmltcG9ydCB7IGdldFBhcnNpbmdGbGFncyB9IGZyb20gJy4vcGFyc2luZy1mbGFncyc7XG5cbi8vIGlzbyA4NjAxIHJlZ2V4XG4vLyAwMDAwLTAwLTAwIDAwMDAtVzAwIG9yIDAwMDAtVzAwLTAgKyBUICsgMDAgb3IgMDA6MDAgb3IgMDA6MDA6MDAgb3IgMDA6MDA6MDAuMDAwICsgKzAwOjAwIG9yICswMDAwIG9yICswMClcbmNvbnN0IGV4dGVuZGVkSXNvUmVnZXggPSAvXlxccyooKD86WystXVxcZHs2fXxcXGR7NH0pLSg/OlxcZFxcZC1cXGRcXGR8V1xcZFxcZC1cXGR8V1xcZFxcZHxcXGRcXGRcXGR8XFxkXFxkKSkoPzooVHwgKShcXGRcXGQoPzo6XFxkXFxkKD86OlxcZFxcZCg/OlsuLF1cXGQrKT8pPyk/KShbXFwrXFwtXVxcZFxcZCg/Ojo/XFxkXFxkKT98XFxzKlopPyk/JC87XG5jb25zdCBiYXNpY0lzb1JlZ2V4ID0gL15cXHMqKCg/OlsrLV1cXGR7Nn18XFxkezR9KSg/OlxcZFxcZFxcZFxcZHxXXFxkXFxkXFxkfFdcXGRcXGR8XFxkXFxkXFxkfFxcZFxcZCkpKD86KFR8ICkoXFxkXFxkKD86XFxkXFxkKD86XFxkXFxkKD86Wy4sXVxcZCspPyk/KT8pKFtcXCtcXC1dXFxkXFxkKD86Oj9cXGRcXGQpP3xcXHMqWik/KT8kLztcblxuY29uc3QgdHpSZWdleCA9IC9afFsrLV1cXGRcXGQoPzo6P1xcZFxcZCk/LztcblxuY29uc3QgaXNvRGF0ZXM6IFtzdHJpbmcsIFJlZ0V4cCwgYm9vbGVhbl1bXSA9IFtcbiAgWydZWVlZWVktTU0tREQnLCAvWystXVxcZHs2fS1cXGRcXGQtXFxkXFxkLywgdHJ1ZV0sXG4gIFsnWVlZWS1NTS1ERCcsIC9cXGR7NH0tXFxkXFxkLVxcZFxcZC8sIHRydWVdLFxuICBbJ0dHR0ctW1ddV1ctRScsIC9cXGR7NH0tV1xcZFxcZC1cXGQvLCB0cnVlXSxcbiAgWydHR0dHLVtXXVdXJywgL1xcZHs0fS1XXFxkXFxkLywgZmFsc2VdLFxuICBbJ1lZWVktREREJywgL1xcZHs0fS1cXGR7M30vLCB0cnVlXSxcbiAgWydZWVlZLU1NJywgL1xcZHs0fS1cXGRcXGQvLCBmYWxzZV0sXG4gIFsnWVlZWVlZTU1ERCcsIC9bKy1dXFxkezEwfS8sIHRydWVdLFxuICBbJ1lZWVlNTUREJywgL1xcZHs4fS8sIHRydWVdLFxuICAvLyBZWVlZTU0gaXMgTk9UIGFsbG93ZWQgYnkgdGhlIHN0YW5kYXJkXG4gIFsnR0dHR1tXXVdXRScsIC9cXGR7NH1XXFxkezN9LywgdHJ1ZV0sXG4gIFsnR0dHR1tXXVdXJywgL1xcZHs0fVdcXGR7Mn0vLCBmYWxzZV0sXG4gIFsnWVlZWURERCcsIC9cXGR7N30vLCB0cnVlXVxuXTtcblxuLy8gaXNvIHRpbWUgZm9ybWF0cyBhbmQgcmVnZXhlc1xuY29uc3QgaXNvVGltZXM6IFtzdHJpbmcsIFJlZ0V4cF1bXSA9IFtcbiAgWydISDptbTpzcy5TU1NTJywgL1xcZFxcZDpcXGRcXGQ6XFxkXFxkXFwuXFxkKy9dLFxuICBbJ0hIOm1tOnNzLFNTU1MnLCAvXFxkXFxkOlxcZFxcZDpcXGRcXGQsXFxkKy9dLFxuICBbJ0hIOm1tOnNzJywgL1xcZFxcZDpcXGRcXGQ6XFxkXFxkL10sXG4gIFsnSEg6bW0nLCAvXFxkXFxkOlxcZFxcZC9dLFxuICBbJ0hIbW1zcy5TU1NTJywgL1xcZFxcZFxcZFxcZFxcZFxcZFxcLlxcZCsvXSxcbiAgWydISG1tc3MsU1NTUycsIC9cXGRcXGRcXGRcXGRcXGRcXGQsXFxkKy9dLFxuICBbJ0hIbW1zcycsIC9cXGRcXGRcXGRcXGRcXGRcXGQvXSxcbiAgWydISG1tJywgL1xcZFxcZFxcZFxcZC9dLFxuICBbJ0hIJywgL1xcZFxcZC9dXG5dO1xuXG5jb25zdCBhc3BOZXRKc29uUmVnZXggPSAvXlxcLz9EYXRlXFwoKFxcLT9cXGQrKS9pO1xuXG5jb25zdCBvYnNPZmZzZXRzOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xuICBVVDogMCxcbiAgR01UOiAwLFxuICBFRFQ6IC00ICogNjAsXG4gIEVTVDogLTUgKiA2MCxcbiAgQ0RUOiAtNSAqIDYwLFxuICBDU1Q6IC02ICogNjAsXG4gIE1EVDogLTYgKiA2MCxcbiAgTVNUOiAtNyAqIDYwLFxuICBQRFQ6IC03ICogNjAsXG4gIFBTVDogLTggKiA2MFxufTtcblxuLy8gUkZDIDI4MjIgcmVnZXg6IEZvciBkZXRhaWxzIHNlZSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjgyMiNzZWN0aW9uLTMuM1xuY29uc3QgcmZjMjgyMiA9IC9eKD86KE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksP1xccyk/KFxcZHsxLDJ9KVxccyhKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYylcXHMoXFxkezIsNH0pXFxzKFxcZFxcZCk6KFxcZFxcZCkoPzo6KFxcZFxcZCkpP1xccyg/OihVVHxHTVR8W0VDTVBdW1NEXVQpfChbWnpdKXwoWystXVxcZHs0fSkpJC87XG5cbi8vIGRhdGUgZnJvbSBpc28gZm9ybWF0XG5leHBvcnQgZnVuY3Rpb24gY29uZmlnRnJvbUlTTyhjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBpZiAoIWlzU3RyaW5nKGNvbmZpZy5faSkpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgY29uc3QgaW5wdXQgPSBjb25maWcuX2k7XG4gIGNvbnN0IG1hdGNoID0gZXh0ZW5kZWRJc29SZWdleC5leGVjKGlucHV0KSB8fCBiYXNpY0lzb1JlZ2V4LmV4ZWMoaW5wdXQpO1xuXG5cbiAgbGV0IGFsbG93VGltZTtcbiAgbGV0IGRhdGVGb3JtYXQ7XG4gIGxldCB0aW1lRm9ybWF0O1xuICBsZXQgdHpGb3JtYXQ7XG5cbiAgaWYgKCFtYXRjaCkge1xuICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIC8vIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmlzbyA9IHRydWU7XG4gIGxldCBpO1xuICBsZXQgbDtcbiAgZm9yIChpID0gMCwgbCA9IGlzb0RhdGVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGlmIChpc29EYXRlc1tpXVsxXS5leGVjKG1hdGNoWzFdKSkge1xuICAgICAgZGF0ZUZvcm1hdCA9IGlzb0RhdGVzW2ldWzBdO1xuICAgICAgYWxsb3dUaW1lID0gaXNvRGF0ZXNbaV1bMl0gIT09IGZhbHNlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRhdGVGb3JtYXQgPT0gbnVsbCkge1xuICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIGlmIChtYXRjaFszXSkge1xuICAgIGZvciAoaSA9IDAsIGwgPSBpc29UaW1lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChpc29UaW1lc1tpXVsxXS5leGVjKG1hdGNoWzNdKSkge1xuICAgICAgICAvLyBtYXRjaFsyXSBzaG91bGQgYmUgJ1QnIG9yIHNwYWNlXG4gICAgICAgIHRpbWVGb3JtYXQgPSAobWF0Y2hbMl0gfHwgJyAnKSArIGlzb1RpbWVzW2ldWzBdO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGltZUZvcm1hdCA9PSBudWxsKSB7XG4gICAgICBjb25maWcuX2lzVmFsaWQgPSBmYWxzZTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG5cbiAgfVxuICBpZiAoIWFsbG93VGltZSAmJiB0aW1lRm9ybWF0ICE9IG51bGwpIHtcbiAgICBjb25maWcuX2lzVmFsaWQgPSBmYWxzZTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBpZiAobWF0Y2hbNF0pIHtcbiAgICBpZiAodHpSZWdleC5leGVjKG1hdGNoWzRdKSkge1xuICAgICAgdHpGb3JtYXQgPSAnWic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlO1xuXG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpZy5fZiA9IGRhdGVGb3JtYXQgKyAodGltZUZvcm1hdCB8fCAnJykgKyAodHpGb3JtYXQgfHwgJycpO1xuXG4gIHJldHVybiBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0KGNvbmZpZyk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RGcm9tUkZDMjgyMlN0cmluZ3MoeWVhclN0cjogc3RyaW5nLCBtb250aFN0cjogc3RyaW5nLCBkYXlTdHI6IHN0cmluZywgaG91clN0cjogc3RyaW5nLCBtaW51dGVTdHI6IHN0cmluZywgc2Vjb25kU3RyOiBzdHJpbmcpOiBEYXRlQXJyYXkge1xuICBjb25zdCByZXN1bHQgPSBbXG4gICAgdW50cnVuY2F0ZVllYXIoeWVhclN0ciksXG4gICAgZGVmYXVsdExvY2FsZU1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpLFxuICAgIHBhcnNlSW50KGRheVN0ciwgMTApLFxuICAgIHBhcnNlSW50KGhvdXJTdHIsIDEwKSxcbiAgICBwYXJzZUludChtaW51dGVTdHIsIDEwKVxuICBdO1xuXG4gIGlmIChzZWNvbmRTdHIpIHtcbiAgICByZXN1bHQucHVzaChwYXJzZUludChzZWNvbmRTdHIsIDEwKSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiB1bnRydW5jYXRlWWVhcih5ZWFyU3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCB5ZWFyID0gcGFyc2VJbnQoeWVhclN0ciwgMTApO1xuXG4gIHJldHVybiB5ZWFyIDw9IDQ5ID8geWVhciArIDIwMDAgOiB5ZWFyO1xufVxuXG5mdW5jdGlvbiBwcmVwcm9jZXNzUkZDMjgyMihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIFJlbW92ZSBjb21tZW50cyBhbmQgZm9sZGluZyB3aGl0ZXNwYWNlIGFuZCByZXBsYWNlIG11bHRpcGxlLXNwYWNlcyB3aXRoIGEgc2luZ2xlIHNwYWNlXG4gIHJldHVybiBzdHJcbiAgICAucmVwbGFjZSgvXFwoW14pXSpcXCl8W1xcblxcdF0vZywgJyAnKVxuICAgIC5yZXBsYWNlKC8oXFxzXFxzKykvZywgJyAnKS50cmltKCk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrV2Vla2RheSh3ZWVrZGF5U3RyOiBzdHJpbmcsIHBhcnNlZElucHV0OiBEYXRlQXJyYXksIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBib29sZWFuIHtcbiAgaWYgKHdlZWtkYXlTdHIpIHtcbiAgICAvLyBUT0RPOiBSZXBsYWNlIHRoZSB2YW5pbGxhIEpTIERhdGUgb2JqZWN0IHdpdGggYW4gaW5kZXBlbnRlbnQgZGF5LW9mLXdlZWsgY2hlY2suXG4gICAgY29uc3Qgd2Vla2RheVByb3ZpZGVkID0gZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQuaW5kZXhPZih3ZWVrZGF5U3RyKTtcbiAgICBjb25zdCB3ZWVrZGF5QWN0dWFsID0gbmV3IERhdGUocGFyc2VkSW5wdXRbMF0sIHBhcnNlZElucHV0WzFdLCBwYXJzZWRJbnB1dFsyXSkuZ2V0RGF5KCk7XG4gICAgaWYgKHdlZWtkYXlQcm92aWRlZCAhPT0gd2Vla2RheUFjdHVhbCkge1xuICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykud2Vla2RheU1pc21hdGNoID0gdHJ1ZTtcbiAgICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZU9mZnNldChvYnNPZmZzZXQ6IHN0cmluZywgbWlsaXRhcnlPZmZzZXQ6IHN0cmluZywgbnVtT2Zmc2V0OiBzdHJpbmcpIHtcbiAgaWYgKG9ic09mZnNldCkge1xuICAgIHJldHVybiBvYnNPZmZzZXRzW29ic09mZnNldF07XG4gIH0gZWxzZSBpZiAobWlsaXRhcnlPZmZzZXQpIHtcbiAgICAvLyB0aGUgb25seSBhbGxvd2VkIG1pbGl0YXJ5IHR6IGlzIFpcbiAgICByZXR1cm4gMDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBobSA9IHBhcnNlSW50KG51bU9mZnNldCwgMTApO1xuICAgIGNvbnN0IG0gPSBobSAlIDEwMDtcbiAgICBjb25zdCBoID0gKGhtIC0gbSkgLyAxMDA7XG5cbiAgICByZXR1cm4gaCAqIDYwICsgbTtcbiAgfVxufVxuXG4vLyBkYXRlIGFuZCB0aW1lIGZyb20gcmVmIDI4MjIgZm9ybWF0XG5leHBvcnQgZnVuY3Rpb24gY29uZmlnRnJvbVJGQzI4MjIoY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgaWYgKCFpc1N0cmluZyhjb25maWcuX2kpKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIGNvbnN0IG1hdGNoID0gcmZjMjgyMi5leGVjKHByZXByb2Nlc3NSRkMyODIyKGNvbmZpZy5faSkpO1xuXG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gbWFya0ludmFsaWQoY29uZmlnKTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZEFycmF5ID0gZXh0cmFjdEZyb21SRkMyODIyU3RyaW5ncyhtYXRjaFs0XSwgbWF0Y2hbM10sIG1hdGNoWzJdLCBtYXRjaFs1XSwgbWF0Y2hbNl0sIG1hdGNoWzddKTtcbiAgaWYgKCFjaGVja1dlZWtkYXkobWF0Y2hbMV0sIHBhcnNlZEFycmF5LCBjb25maWcpKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIGNvbmZpZy5fYSA9IHBhcnNlZEFycmF5O1xuICBjb25maWcuX3R6bSA9IGNhbGN1bGF0ZU9mZnNldChtYXRjaFs4XSwgbWF0Y2hbOV0sIG1hdGNoWzEwXSk7XG5cbiAgY29uZmlnLl9kID0gY3JlYXRlVVRDRGF0ZS5hcHBseShudWxsLCBjb25maWcuX2EpO1xuICBjb25maWcuX2Quc2V0VVRDTWludXRlcyhjb25maWcuX2QuZ2V0VVRDTWludXRlcygpIC0gY29uZmlnLl90em0pO1xuXG4gIGdldFBhcnNpbmdGbGFncyhjb25maWcpLnJmYzI4MjIgPSB0cnVlO1xuXG4gIHJldHVybiBjb25maWc7XG59XG5cbi8vIGRhdGUgZnJvbSBpc28gZm9ybWF0IG9yIGZhbGxiYWNrXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnRnJvbVN0cmluZyhjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBpZiAoIWlzU3RyaW5nKGNvbmZpZy5faSkpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgY29uc3QgbWF0Y2hlZCA9IGFzcE5ldEpzb25SZWdleC5leGVjKGNvbmZpZy5faSk7XG5cbiAgaWYgKG1hdGNoZWQgIT09IG51bGwpIHtcbiAgICBjb25maWcuX2QgPSBuZXcgRGF0ZSgrbWF0Y2hlZFsxXSk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgLy8gdG9kbzogdXBkYXRlIGxvZ2ljIHByb2Nlc3NpbmdcbiAgLy8gaXNJU08gLT4gY29uZmlnRnJvbUlTT1xuICAvLyBpc1JGQyAtPiBjb25maWdGcm9tUkZDXG5cbiAgY29uZmlnRnJvbUlTTyhjb25maWcpO1xuICBpZiAoY29uZmlnLl9pc1ZhbGlkID09PSBmYWxzZSkge1xuICAgIGRlbGV0ZSBjb25maWcuX2lzVmFsaWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIGNvbmZpZ0Zyb21SRkMyODIyKGNvbmZpZyk7XG4gIGlmIChjb25maWcuX2lzVmFsaWQgPT09IGZhbHNlKSB7XG4gICAgZGVsZXRlIGNvbmZpZy5faXNWYWxpZDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgLy8gRmluYWwgYXR0ZW1wdCwgdXNlIElucHV0IEZhbGxiYWNrXG4gIC8vIGhvb2tzLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGNvbmZpZyk7XG4gIHJldHVybiBjcmVhdGVJbnZhbGlkKGNvbmZpZyk7XG59XG5cbi8vIGhvb2tzLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrID0gZGVwcmVjYXRlKFxuLy8gICAgICd2YWx1ZSBwcm92aWRlZCBpcyBub3QgaW4gYSByZWNvZ25pemVkIFJGQzI4MjIgb3IgSVNPIGZvcm1hdC4gbW9tZW50IGNvbnN0cnVjdGlvbiBmYWxscyBiYWNrIHRvIGpzIERhdGUoKSwgJyArXG4vLyAgICAgJ3doaWNoIGlzIG5vdCByZWxpYWJsZSBhY3Jvc3MgYWxsIGJyb3dzZXJzIGFuZCB2ZXJzaW9ucy4gTm9uIFJGQzI4MjIvSVNPIGRhdGUgZm9ybWF0cyBhcmUgJyArXG4vLyAgICAgJ2Rpc2NvdXJhZ2VkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYW4gdXBjb21pbmcgbWFqb3IgcmVsZWFzZS4gUGxlYXNlIHJlZmVyIHRvICcgK1xuLy8gICAgICdodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL2pzLWRhdGUvIGZvciBtb3JlIGluZm8uJyxcbi8vICAgICBmdW5jdGlvbiAoY29uZmlnKSB7XG4vLyAgICAgICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKGNvbmZpZy5faSArIChjb25maWcuX3VzZVVUQyA/ICcgVVRDJyA6ICcnKSk7XG4vLyAgICAgfVxuLy8gKTtcbiJdfQ==","// moment.js\n// version : 2.18.1\n// authors : Tim Wood, Iskren Chernev, Moment.js contributors\n// license : MIT\n// momentjs.com\nimport './units/index';\nimport { formatFunctions, makeFormatFunction } from './format/format';\nimport { getLocale } from './locale/locales';\nimport { isDateValid } from './utils/type-checks';\nexport function formatDate(date, format, locale, isUTC, offset = 0) {\n const _locale = getLocale(locale || 'en');\n if (!_locale) {\n throw new Error(`Locale \"${locale}\" is not defined, please add it with \"defineLocale(...)\"`);\n }\n const _format = format || (isUTC ? 'YYYY-MM-DDTHH:mm:ss[Z]' : 'YYYY-MM-DDTHH:mm:ssZ');\n const output = formatMoment(date, _format, _locale, isUTC, offset);\n if (!output) {\n return output;\n }\n return _locale.postformat(output);\n}\n// format date using native date object\nexport function formatMoment(date, _format, locale, isUTC, offset = 0) {\n if (!isDateValid(date)) {\n return locale.invalidDate;\n }\n const format = expandFormat(_format, locale);\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n return formatFunctions[format](date, locale, isUTC, offset);\n}\nexport function expandFormat(_format, locale) {\n let format = _format;\n let i = 5;\n const localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n const replaceLongDateFormatTokens = (input) => {\n return locale.formatLongDate(input) || input;\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 return format;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFDWixtQkFBbUI7QUFDbkIsNkRBQTZEO0FBQzdELGdCQUFnQjtBQUNoQixlQUFlO0FBRWYsT0FBTyxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFVLEVBQUUsTUFBZSxFQUFFLE1BQWUsRUFBRSxLQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFDbEcsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQztJQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUNiLFdBQVcsTUFBTSwwREFBMEQsQ0FDNUUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFFLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBRXZGLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFbkUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsdUNBQXVDO0FBQ3ZDLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBVSxFQUFFLE9BQWUsRUFBRSxNQUFjLEVBQUUsS0FBZSxFQUFFLE1BQU0sR0FBRyxDQUFDO0lBQ25HLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0MsZUFBZSxDQUFDLE1BQU0sQ0FBQyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVoRixPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFlLEVBQUUsTUFBYztJQUMxRCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsTUFBTSxxQkFBcUIsR0FBRyw0Q0FBNEMsQ0FBQztJQUUzRSxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDakQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUMvQyxDQUFDLENBQUM7SUFFRixxQkFBcUIsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNwRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1FBQzVFLHFCQUFxQixDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbW9tZW50LmpzXG4vLyB2ZXJzaW9uIDogMi4xOC4xXG4vLyBhdXRob3JzIDogVGltIFdvb2QsIElza3JlbiBDaGVybmV2LCBNb21lbnQuanMgY29udHJpYnV0b3JzXG4vLyBsaWNlbnNlIDogTUlUXG4vLyBtb21lbnRqcy5jb21cblxuaW1wb3J0ICcuL3VuaXRzL2luZGV4JztcbmltcG9ydCB7IGZvcm1hdEZ1bmN0aW9ucywgbWFrZUZvcm1hdEZ1bmN0aW9uIH0gZnJvbSAnLi9mb3JtYXQvZm9ybWF0JztcbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJy4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBnZXRMb2NhbGUgfSBmcm9tICcuL2xvY2FsZS9sb2NhbGVzJztcbmltcG9ydCB7IGlzRGF0ZVZhbGlkIH0gZnJvbSAnLi91dGlscy90eXBlLWNoZWNrcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREYXRlKGRhdGU6IERhdGUsIGZvcm1hdD86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4sIG9mZnNldCA9IDApOiBzdHJpbmcge1xuICBjb25zdCBfbG9jYWxlID0gZ2V0TG9jYWxlKGxvY2FsZSB8fCAnZW4nKTtcbiAgaWYgKCFfbG9jYWxlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYExvY2FsZSBcIiR7bG9jYWxlfVwiIGlzIG5vdCBkZWZpbmVkLCBwbGVhc2UgYWRkIGl0IHdpdGggXCJkZWZpbmVMb2NhbGUoLi4uKVwiYFxuICAgICk7XG4gIH1cblxuICBjb25zdCBfZm9ybWF0ID0gZm9ybWF0IHx8IChpc1VUQyA/ICAnWVlZWS1NTS1ERFRISDptbTpzc1taXScgOiAnWVlZWS1NTS1ERFRISDptbTpzc1onKTtcblxuICBjb25zdCBvdXRwdXQgPSBmb3JtYXRNb21lbnQoZGF0ZSwgX2Zvcm1hdCwgX2xvY2FsZSwgaXNVVEMsIG9mZnNldCk7XG5cbiAgaWYgKCFvdXRwdXQpIHtcbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgcmV0dXJuIF9sb2NhbGUucG9zdGZvcm1hdChvdXRwdXQpO1xufVxuXG4vLyBmb3JtYXQgZGF0ZSB1c2luZyBuYXRpdmUgZGF0ZSBvYmplY3RcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRNb21lbnQoZGF0ZTogRGF0ZSwgX2Zvcm1hdDogc3RyaW5nLCBsb2NhbGU6IExvY2FsZSwgaXNVVEM/OiBib29sZWFuLCBvZmZzZXQgPSAwKTogc3RyaW5nIHtcbiAgaWYgKCFpc0RhdGVWYWxpZChkYXRlKSkge1xuICAgIHJldHVybiBsb2NhbGUuaW52YWxpZERhdGU7XG4gIH1cblxuICBjb25zdCBmb3JtYXQgPSBleHBhbmRGb3JtYXQoX2Zvcm1hdCwgbG9jYWxlKTtcbiAgZm9ybWF0RnVuY3Rpb25zW2Zvcm1hdF0gPSBmb3JtYXRGdW5jdGlvbnNbZm9ybWF0XSB8fCBtYWtlRm9ybWF0RnVuY3Rpb24oZm9ybWF0KTtcblxuICByZXR1cm4gZm9ybWF0RnVuY3Rpb25zW2Zvcm1hdF0oZGF0ZSwgbG9jYWxlLCBpc1VUQywgb2Zmc2V0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cGFuZEZvcm1hdChfZm9ybWF0OiBzdHJpbmcsIGxvY2FsZTogTG9jYWxlKTogc3RyaW5nIHtcbiAgbGV0IGZvcm1hdCA9IF9mb3JtYXQ7XG4gIGxldCBpID0gNTtcbiAgY29uc3QgbG9jYWxGb3JtYXR0aW5nVG9rZW5zID0gLyhcXFtbXlxcW10qXFxdKXwoXFxcXCk/KExUU3xMVHxMTD9MP0w/fGx7MSw0fSkvZztcblxuICBjb25zdCByZXBsYWNlTG9uZ0RhdGVGb3JtYXRUb2tlbnMgPSAoaW5wdXQ6IGFueSkgPT4ge1xuICAgIHJldHVybiBsb2NhbGUuZm9ybWF0TG9uZ0RhdGUoaW5wdXQpIHx8IGlucHV0O1xuICB9O1xuXG4gIGxvY2FsRm9ybWF0dGluZ1Rva2Vucy5sYXN0SW5kZXggPSAwO1xuICB3aGlsZSAoaSA+PSAwICYmIGxvY2FsRm9ybWF0dGluZ1Rva2Vucy50ZXN0KGZvcm1hdCkpIHtcbiAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZShsb2NhbEZvcm1hdHRpbmdUb2tlbnMsIHJlcGxhY2VMb25nRGF0ZUZvcm1hdFRva2Vucyk7XG4gICAgbG9jYWxGb3JtYXR0aW5nVG9rZW5zLmxhc3RJbmRleCA9IDA7XG4gICAgaSAtPSAxO1xuICB9XG5cbiAgcmV0dXJuIGZvcm1hdDtcbn1cbiJdfQ==","// Pick the first defined of two or three arguments.\nexport 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91dGlscy9kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvREFBb0Q7QUFDcEQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxDQUFLLEVBQUUsQ0FBSyxFQUFFLENBQUs7SUFDN0MsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFBpY2sgdGhlIGZpcnN0IGRlZmluZWQgb2YgdHdvIG9yIHRocmVlIGFyZ3VtZW50cy5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0czxUPihhPzogVCwgYj86IFQsIGM/OiBUKTogVCB7XG4gIGlmIChhICE9IG51bGwpIHtcbiAgICByZXR1cm4gYTtcbiAgfVxuICBpZiAoYiAhPSBudWxsKSB7XG4gICAgcmV0dXJuIGI7XG4gIH1cblxuICByZXR1cm4gYztcbn1cbiJdfQ==","import { DATE, HOUR, MILLISECOND, MINUTE, MONTH, SECOND, YEAR } from '../units/constants';\nimport { daysInYear } from '../units/year';\nimport { getParsingFlags } from './parsing-flags';\nimport { createUTCDate } from './date-from-array';\nimport { createDate } from './date-from-array';\nimport { dayOfYearFromWeeks, weekOfYear, weeksInYear } from '../units/week-calendar-utils';\nimport { defaults } from '../utils/defaults';\nfunction currentDateArray(config) {\n const nowValue = new Date();\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\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]\nexport function configFromArray(config) {\n const input = [];\n let i;\n let date;\n let yearToUse;\n if (config._d) {\n return config;\n }\n const currentDate = currentDateArray(config);\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 // 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 if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n date = new Date(Date.UTC(yearToUse, 0, config._dayOfYear));\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\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 // 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 // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n // eslint-disable-next-line prefer-spread\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n const expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\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 if (config._nextDay) {\n config._a[HOUR] = 24;\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 return config;\n}\nfunction dayOfYearFromWeekInfo(config) {\n let weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n const w = config._w;\n if (w[\"GG\"] != null || w[\"W\"] != null || w[\"E\"] != null) {\n dow = 1;\n doy = 4;\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(new Date(), 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 }\n else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n const curWeek = weekOfYear(new Date(), dow, doy);\n weekYear = defaults(w[\"gg\"], config._a[YEAR], curWeek.year);\n // Default to current week.\n week = defaults(w[\"w\"], curWeek.week);\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 }\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 }\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 }\n else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n }\n else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n return config;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1hcnJheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL2NyZWF0ZS9mcm9tLWFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDLFNBQVMsZ0JBQWdCLENBQUMsTUFBeUI7SUFDakQsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUU1QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELDhCQUE4QjtBQUM5QiwrQ0FBK0M7QUFDL0MsNkZBQTZGO0FBQzdGLHlEQUF5RDtBQUN6RCxNQUFNLFVB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ZSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25DLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDbEQsQ0FBQztTQUFNLENBQUM7UUFDTixJQUFJLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdELE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4vcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBEYXRlQXJyYXkgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBEQVRFLCBIT1VSLCBNSUxMSVNFQ09ORCwgTUlOVVRFLCBNT05USCwgU0VDT05ELCBZRUFSIH0gZnJvbSAnLi4vdW5pdHMvY29uc3RhbnRzJztcbmltcG9ydCB7IGRheXNJblllYXIgfSBmcm9tICcuLi91bml0cy95ZWFyJztcbmltcG9ydCB7IGdldFBhcnNpbmdGbGFncyB9IGZyb20gJy4vcGFyc2luZy1mbGFncyc7XG5pbXBvcnQgeyBjcmVhdGVVVENEYXRlIH0gZnJvbSAnLi9kYXRlLWZyb20tYXJyYXknO1xuaW1wb3J0IHsgY3JlYXRlRGF0ZSB9IGZyb20gJy4vZGF0ZS1mcm9tLWFycmF5JztcbmltcG9ydCB7IGRheU9mWWVhckZyb21XZWVrcywgd2Vla09mWWVhciwgd2Vla3NJblllYXIgfSBmcm9tICcuLi91bml0cy93ZWVrLWNhbGVuZGFyLXV0aWxzJztcbmltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSAnLi4vdXRpbHMvZGVmYXVsdHMnO1xuXG5mdW5jdGlvbiBjdXJyZW50RGF0ZUFycmF5KGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlQXJyYXkge1xuICBjb25zdCBub3dWYWx1ZSA9IG5ldyBEYXRlKCk7XG5cbiAgaWYgKGNvbmZpZy5fdXNlVVRDKSB7XG4gICAgcmV0dXJuIFtub3dWYWx1ZS5nZXRVVENGdWxsWWVhcigpLCBub3dWYWx1ZS5nZXRVVENNb250aCgpLCBub3dWYWx1ZS5nZXRVVENEYXRlKCldO1xuICB9XG5cbiAgcmV0dXJuIFtub3dWYWx1ZS5nZXRGdWxsWWVhcigpLCBub3dWYWx1ZS5nZXRNb250aCgpLCBub3dWYWx1ZS5nZXREYXRlKCldO1xufVxuXG4vLyBjb252ZXJ0IGFuIGFycmF5IHRvIGEgZGF0ZS5cbi8vIHRoZSBhcnJheSBzaG91bGQgbWlycm9yIHRoZSBwYXJhbWV0ZXJzIGJlbG93XG4vLyBub3RlOiBhbGwgdmFsdWVzIHBhc3QgdGhlIHllYXIgYXJlIG9wdGlvbmFsIGFuZCB3aWxsIGRlZmF1bHQgdG8gdGhlIGxvd2VzdCBwb3NzaWJsZSB2YWx1ZS5cbi8vIFt5ZWFyLCBtb250aCwgZGF5ICwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXVxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ0Zyb21BcnJheShjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBjb25zdCBpbnB1dCA9IFtdO1xuICBsZXQgaTtcbiAgbGV0IGRhdGU7XG4gIGxldCB5ZWFyVG9Vc2U7XG5cbiAgaWYgKGNvbmZpZy5fZCkge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBjb25zdCBjdXJyZW50RGF0ZSA9IGN1cnJlbnREYXRlQXJyYXkoY29uZmlnKTtcblxuICAvLyBjb21wdXRlIGRheSBvZiB0aGUgeWVhciBmcm9tIHdlZWtzIGFuZCB3ZWVrZGF5c1xuICBpZiAoY29uZmlnLl93ICYmIGNvbmZpZy5fYVtEQVRFXSA9PSBudWxsICYmIGNvbmZpZy5fYVtNT05USF0gPT0gbnVsbCkge1xuICAgIGRheU9mWWVhckZyb21XZWVrSW5mbyhjb25maWcpO1xuICB9XG5cbiAgLy8gaWYgdGhlIGRheSBvZiB0aGUgeWVhciBpcyBzZXQsIGZpZ3VyZSBvdXQgd2hhdCBpdCBpc1xuICBpZiAoY29uZmlnLl9kYXlPZlllYXIgIT0gbnVsbCkge1xuICAgIHllYXJUb1VzZSA9IGRlZmF1bHRzKGNvbmZpZy5fYVtZRUFSXSwgY3VycmVudERhdGVbWUVBUl0pO1xuXG4gICAgaWYgKGNvbmZpZy5fZGF5T2ZZZWFyID4gZGF5c0luWWVhcih5ZWFyVG9Vc2UpIHx8IGNvbmZpZy5fZGF5T2ZZZWFyID09PSAwKSB7XG4gICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5fb3ZlcmZsb3dEYXlPZlllYXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGRhdGUgPSBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyVG9Vc2UsIDAsIGNvbmZpZy5fZGF5T2ZZZWFyKSk7XG4gICAgY29uZmlnLl9hW01PTlRIXSA9IGRhdGUuZ2V0VVRDTW9udGgoKTtcbiAgICBjb25maWcuX2FbREFURV0gPSBkYXRlLmdldFVUQ0RhdGUoKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgdG8gY3VycmVudCBkYXRlLlxuICAvLyAqIGlmIG5vIHllYXIsIG1vbnRoLCBkYXkgb2YgbW9udGggYXJlIGdpdmVuLCBkZWZhdWx0IHRvIHRvZGF5XG4gIC8vICogaWYgZGF5IG9mIG1vbnRoIGlzIGdpdmVuLCBkZWZhdWx0IG1vbnRoIGFuZCB5ZWFyXG4gIC8vICogaWYgbW9udGggaXMgZ2l2ZW4sIGRlZmF1bHQgb25seSB5ZWFyXG4gIC8vICogaWYgeWVhciBpcyBnaXZlbiwgZG9uJ3QgZGVmYXVsdCBhbnl0aGluZ1xuICBmb3IgKGkgPSAwOyBpIDwgMyAmJiBjb25maWcuX2FbaV0gPT0gbnVsbDsgKytpKSB7XG4gICAgY29uZmlnLl9hW2ldID0gaW5wdXRbaV0gPSBjdXJyZW50RGF0ZVtpXTtcbiAgfVxuXG4gIC8vIFplcm8gb3V0IHdoYXRldmVyIHdhcyBub3QgZGVmYXVsdGVkLCBpbmNsdWRpbmcgdGltZVxuICBmb3IgKDsgaSA8IDc7IGkrKykge1xuICAgIGNvbmZpZy5fYVtpXSA9IGlucHV0W2ldID0gKGNvbmZpZy5fYVtpXSA9PSBudWxsKSA/IChpID09PSAyID8gMSA6IDApIDogY29uZmlnLl9hW2ldO1xuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIDI0OjAwOjAwLjAwMFxuICBpZiAoY29uZmlnLl9hW0hPVVJdID09PSAyNCAmJlxuICAgIGNvbmZpZy5fYVtNSU5VVEVdID09PSAwICYmXG4gICAgY29uZmlnLl9hW1NFQ09ORF0gPT09IDAgJiZcbiAgICBjb25maWcuX2FbTUlMTElTRUNPTkRdID09PSAwKSB7XG4gICAgY29uZmlnLl9uZXh0RGF5ID0gdHJ1ZTtcbiAgICBjb25maWcuX2FbSE9VUl0gPSAwO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1zcHJlYWRcbiAgY29uZmlnLl9kID0gKGNvbmZpZy5fdXNlVVRDID8gY3JlYXRlVVRDRGF0ZSA6IGNyZWF0ZURhdGUpLmFwcGx5KG51bGwsIGlucHV0KTtcbiAgY29uc3QgZXhwZWN0ZWRXZWVrZGF5ID0gY29uZmlnLl91c2VVVEMgPyBjb25maWcuX2QuZ2V0VVRDRGF5KCkgOiBjb25maWcuX2QuZ2V0RGF5KCk7XG5cbiAgLy8gQXBwbHkgdGltZXpvbmUgb2Zmc2V0IGZyb20gaW5wdXQuIFRoZSBhY3R1YWwgdXRjT2Zmc2V0IGNhbiBiZSBjaGFuZ2VkXG4gIC8vIHdpdGggcGFyc2Vab25lLlxuICBpZiAoY29uZmlnLl90em0gIT0gbnVsbCkge1xuICAgIGNvbmZpZy5fZC5zZXRVVENNaW51dGVzKGNvbmZpZy5fZC5nZXRVVENNaW51dGVzKCkgLSBjb25maWcuX3R6bSk7XG4gIH1cblxuICBpZiAoY29uZmlnLl9uZXh0RGF5KSB7XG4gICAgY29uZmlnLl9hW0hPVVJdID0gMjQ7XG4gIH1cblxuICAvLyBjaGVjayBmb3IgbWlzbWF0Y2hpbmcgZGF5IG9mIHdlZWtcbiAgaWYgKGNvbmZpZy5fdyAmJiB0eXBlb2YgY29uZmlnLl93W1wiZFwiXSAhPT0gJ3VuZGVmaW5lZCcgJiYgY29uZmlnLl93W1wiZFwiXSAhPT0gZXhwZWN0ZWRXZWVrZGF5KSB7XG4gICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykud2Vla2RheU1pc21hdGNoID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmZ1bmN0aW9uIGRheU9mWWVhckZyb21XZWVrSW5mbyhjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBsZXQgd2Vla1llYXIsIHdlZWssIHdlZWtkYXksIGRvdywgZG95LCB0ZW1wLCB3ZWVrZGF5T3ZlcmZsb3c7XG5cbiAgY29uc3QgdyA9IGNvbmZpZy5fdztcbiAgaWYgKHdbXCJHR1wiXSAhPSBudWxsIHx8IHdbXCJXXCJdICE9IG51bGwgfHwgd1tcIkVcIl0gIT0gbnVsbCkge1xuICAgIGRvdyA9IDE7XG4gICAgZG95ID0gNDtcblxuICAgIC8vIFRPRE86IFdlIG5lZWQgdG8gdGFrZSB0aGUgY3VycmVudCBpc29XZWVrWWVhciwgYnV0IHRoYXQgZGVwZW5kcyBvblxuICAgIC8vIGhvdyB3ZSBpbnRlcnByZXQgbm93IChsb2NhbCwgdXRjLCBmaXhlZCBvZmZzZXQpLiBTbyBjcmVhdGVcbiAgICAvLyBhIG5vdyB2ZXJzaW9uIG9mIGN1cnJlbnQgY29uZmlnICh0YWtlIGxvY2FsL3V0Yy9vZmZzZXQgZmxhZ3MsIGFuZFxuICAgIC8vIGNyZWF0ZSBub3cpLlxuICAgIHdlZWtZZWFyID0gZGVmYXVsdHMod1tcIkdHXCJdLCBjb25maWcuX2FbWUVBUl0sIHdlZWtPZlllYXIobmV3IERhdGUoKSwgMSwgNCkueWVhcik7XG4gICAgd2VlayA9IGRlZmF1bHRzKHdbXCJXXCJdLCAxKTtcbiAgICB3ZWVrZGF5ID0gZGVmYXVsdHMod1tcIkVcIl0sIDEpO1xuICAgIGlmICh3ZWVrZGF5IDwgMSB8fCB3ZWVrZGF5ID4gNykge1xuICAgICAgd2Vla2RheU92ZXJmbG93ID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZG93ID0gY29uZmlnLl9sb2NhbGUuX3dlZWsuZG93O1xuICAgIGRveSA9IGNvbmZpZy5fbG9jYWxlLl93ZWVrLmRveTtcblxuICAgIGNvbnN0IGN1cldlZWsgPSB3ZWVrT2ZZZWFyKG5ldyBEYXRlKCksIGRvdywgZG95KTtcblxuICAgIHdlZWtZZWFyID0gZGVmYXVsdHMod1tcImdnXCJdLCBjb25maWcuX2FbWUVBUl0sIGN1cldlZWsueWVhcik7XG5cbiAgICAvLyBEZWZhdWx0IHRvIGN1cnJlbnQgd2Vlay5cbiAgICB3ZWVrID0gZGVmYXVsdHMod1tcIndcIl0sIGN1cldlZWsud2Vlayk7XG5cbiAgICBpZiAod1tcImRcIl0gIT0gbnVsbCkge1xuICAgICAgLy8gd2Vla2RheSAtLSBsb3cgZGF5IG51bWJlcnMgYXJlIGNvbnNpZGVyZWQgbmV4dCB3ZWVrXG4gICAgICB3ZWVrZGF5ID0gd1tcImRcIl07XG4gICAgICBpZiAod2Vla2RheSA8IDAgfHwgd2Vla2RheSA+IDYpIHtcbiAgICAgICAgd2Vla2RheU92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHdbXCJlXCJdICE9IG51bGwpIHtcbiAgICAgIC8vIGxvY2FsIHdlZWtkYXkgLS0gY291bnRpbmcgc3RhcnRzIGZyb20gYmVnaW5uaW5nIG9mIHdlZWtcbiAgICAgIHdlZWtkYXkgPSB3W1wiZVwiXSArIGRvdztcbiAgICAgIGlmICh3W1wiZVwiXSA8IDAgfHwgd1tcImVcIl0gPiA2KSB7XG4gICAgICAgIHdlZWtkYXlPdmVyZmxvdyA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRlZmF1bHQgdG8gYmVnaW5uaW5nIG9mIHdlZWtcbiAgICAgIHdlZWtkYXkgPSBkb3c7XG4gICAgfVxuICB9XG4gIGlmICh3ZWVrIDwgMSB8fCB3ZWVrID4gd2Vla3NJblllYXIod2Vla1llYXIsIGRvdywgZG95KSkge1xuICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd1dlZWtzID0gdHJ1ZTtcbiAgfSBlbHNlIGlmICh3ZWVrZGF5T3ZlcmZsb3cgIT0gbnVsbCkge1xuICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd1dlZWtkYXkgPSB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHRlbXAgPSBkYXlPZlllYXJGcm9tV2Vla3Mod2Vla1llYXIsIHdlZWssIHdlZWtkYXksIGRvdywgZG95KTtcbiAgICBjb25maWcuX2FbWUVBUl0gPSB0ZW1wLnllYXI7XG4gICAgY29uZmlnLl9kYXlPZlllYXIgPSB0ZW1wLmRheU9mWWVhcjtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG4iXX0=","import { getParsingFlags } from './parsing-flags';\nimport { DATE, HOUR, MILLISECOND, MINUTE, MONTH, SECOND, WEEK, WEEKDAY, YEAR } from '../units/constants';\nimport { daysInMonth } from '../units/month';\nexport function checkOverflow(config) {\n let overflow;\n const a = config._a;\n if (a && getParsingFlags(config).overflow === -2) {\n // todo: fix this sh*t\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n if (getParsingFlags(config)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(config)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(config)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n getParsingFlags(config).overflow = overflow;\n }\n return config;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stb3ZlcmZsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9jcmVhdGUvY2hlY2stb3ZlcmZsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQXlCO0lBQ3JELElBQUksUUFBUSxDQUFDO0lBQ2IsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUVwQixJQUFJLENBQUMsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakQsc0JBQXNCO1FBQ3RCLFFBQVE7WUFDTixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDOUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3RILENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQ3hDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ3hDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7b0NBQ3hELENBQUMsQ0FBQyxDQUFDO1FBRWpCLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2RixRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLElBQUksUUFBUSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUQsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNsQixDQUFDO1FBQ0QsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsZ0JBQWdCLElBQUksUUFBUSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEUsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNyQixDQUFDO1FBRUQsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDOUMsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRQYXJzaW5nRmxhZ3MgfSBmcm9tICcuL3BhcnNpbmctZmxhZ3MnO1xuaW1wb3J0IHsgREFURSwgSE9VUiwgTUlMTElTRUNPTkQsIE1JTlVURSwgTU9OVEgsIFNFQ09ORCwgV0VFSywgV0VFS0RBWSwgWUVBUiB9IGZyb20gJy4uL3VuaXRzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBkYXlzSW5Nb250aCB9IGZyb20gJy4uL3VuaXRzL21vbnRoJztcbmltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi9wYXJzaW5nLnR5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrT3ZlcmZsb3coY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgbGV0IG92ZXJmbG93O1xuICBjb25zdCBhID0gY29uZmlnLl9hO1xuXG4gIGlmIChhICYmIGdldFBhcnNpbmdGbGFncyhjb25maWcpLm92ZXJmbG93ID09PSAtMikge1xuICAgIC8vIHRvZG86IGZpeCB0aGlzIHNoKnRcbiAgICBvdmVyZmxvdyA9XG4gICAgICBhW01PTlRIXSA8IDAgfHwgYVtNT05USF0gPiAxMSA/IE1PTlRIIDpcbiAgICAgICAgYVtEQVRFXSA8IDEgfHwgYVtEQVRFXSA+IGRheXNJbk1vbnRoKGFbWUVBUl0sIGFbTU9OVEhdKSA/IERBVEUgOlxuICAgICAgICAgIGFbSE9VUl0gPCAwIHx8IGFbSE9VUl0gPiAyNCB8fCAoYVtIT1VSXSA9PT0gMjQgJiYgKGFbTUlOVVRFXSAhPT0gMCB8fCBhW1NFQ09ORF0gIT09IDAgfHwgYVtNSUxMSVNFQ09ORF0gIT09IDApKSA/IEhPVVIgOlxuICAgICAgICAgICAgYVtNSU5VVEVdIDwgMCB8fCBhW01JTlVURV0gPiA1OSA/IE1JTlVURSA6XG4gICAgICAgICAgICAgIGFbU0VDT05EXSA8IDAgfHwgYVtTRUNPTkRdID4gNTkgPyBTRUNPTkQgOlxuICAgICAgICAgICAgICAgIGFbTUlMTElTRUNPTkRdIDwgMCB8fCBhW01JTExJU0VDT05EXSA+IDk5OSA/IE1JTExJU0VDT05EIDpcbiAgICAgICAgICAgICAgICAgIC0xO1xuXG4gICAgaWYgKGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd0RheU9mWWVhciAmJiAob3ZlcmZsb3cgPCBZRUFSIHx8IG92ZXJmbG93ID4gREFURSkpIHtcbiAgICAgIG92ZXJmbG93ID0gREFURTtcbiAgICB9XG4gICAgaWYgKGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd1dlZWtzICYmIG92ZXJmbG93ID09PSAtMSkge1xuICAgICAgb3ZlcmZsb3cgPSBXRUVLO1xuICAgIH1cbiAgICBpZiAoZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuX292ZXJmbG93V2Vla2RheSAmJiBvdmVyZmxvdyA9PT0gLTEpIHtcbiAgICAgIG92ZXJmbG93ID0gV0VFS0RBWTtcbiAgICB9XG5cbiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5vdmVyZmxvdyA9IG92ZXJmbG93O1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuIl19","import { configFromISO, configFromRFC2822 } from './from-string';\nimport { expandFormat } from '../format';\nimport { formattingTokens, formatTokenFunctions } from '../format/format';\nimport { isArray } from '../utils/type-checks';\nimport { getParseRegexForToken } from '../parse/regex';\nimport { addTimeToArrayFromToken } from '../parse/token';\nimport { HOUR } from '../units/constants';\nimport { configFromArray } from './from-array';\nimport { getParsingFlags } from './parsing-flags';\nimport { checkOverflow } from './check-overflow';\n// constant that refers to the ISO standard\n// hooks.ISO_8601 = function () {};\nexport const ISO_8601 = 'ISO_8601';\n// constant that refers to the RFC 2822 form\n// hooks.RFC_2822 = function () {};\nexport const RFC_2822 = 'RFC_2822';\n// date from string and format string\nexport function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === ISO_8601) {\n return configFromISO(config);\n }\n if (config._f === RFC_2822) {\n return configFromRFC2822(config);\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n if (isArray(config._f) || (!config._i && config._i !== 0)) {\n return config;\n }\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n let input = config._i.toString();\n let totalParsedInputLength = 0;\n const inputLength = input.length;\n const tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n let i;\n let token;\n let parsedInput;\n let skipped;\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (input.match(getParseRegexForToken(token, config._locale)) || [])[0];\n if (parsedInput) {\n skipped = input.substr(0, input.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n input = input.slice(input.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 }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = inputLength - totalParsedInputLength;\n if (input.length > 0) {\n getParsingFlags(config).unusedInput.push(input);\n }\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = void 0;\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 configFromArray(config);\n return checkOverflow(config);\n}\nfunction meridiemFixWrap(locale, _hour, meridiem) {\n let hour = _hour;\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n }\n if (locale.isPM == null) {\n // this is not supposed to happen\n return hour;\n }\n // Fallback\n const 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}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1zdHJpbmctYW5kLWZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL2NyZWF0ZS9mcm9tLXN0cmluZy1hbmQtZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdqRCwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFFbkMsNENBQTRDO0FBQzVDLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBRW5DLHFDQUFxQztBQUNyQyxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBeUI7SUFDakUsZ0ZBQWdGO0lBQ2hGLElBQUksTUFBTSxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMzQixPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFD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LElBQUksSUFBSSxFQUFFLENBQUM7UUFDaEMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLGlDQUFpQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxXQUFXO0lBQ1gsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN6QixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi9wYXJzaW5nLnR5cGVzJztcbmltcG9ydCB7IGNvbmZpZ0Zyb21JU08sIGNvbmZpZ0Zyb21SRkMyODIyIH0gZnJvbSAnLi9mcm9tLXN0cmluZyc7XG5pbXBvcnQgeyBleHBhbmRGb3JtYXQgfSBmcm9tICcuLi9mb3JtYXQnO1xuaW1wb3J0IHsgZm9ybWF0dGluZ1Rva2VucywgZm9ybWF0VG9rZW5GdW5jdGlvbnMgfSBmcm9tICcuLi9mb3JtYXQvZm9ybWF0JztcbmltcG9ydCB7IGlzQXJyYXksIGlzU3RyaW5nIH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgZ2V0UGFyc2VSZWdleEZvclRva2VuIH0gZnJvbSAnLi4vcGFyc2UvcmVnZXgnO1xuaW1wb3J0IHsgYWRkVGltZVRvQXJyYXlGcm9tVG9rZW4gfSBmcm9tICcuLi9wYXJzZS90b2tlbic7XG5pbXBvcnQgeyBIT1VSIH0gZnJvbSAnLi4vdW5pdHMvY29uc3RhbnRzJztcbmltcG9ydCB7IGNvbmZpZ0Zyb21BcnJheSB9IGZyb20gJy4vZnJvbS1hcnJheSc7XG5pbXBvcnQgeyBnZXRQYXJzaW5nRmxhZ3MgfSBmcm9tICcuL3BhcnNpbmctZmxhZ3MnO1xuaW1wb3J0IHsgY2hlY2tPdmVyZmxvdyB9IGZyb20gJy4vY2hlY2stb3ZlcmZsb3cnO1xuaW1wb3J0IHsgTG9jYWxlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbi8vIGNvbnN0YW50IHRoYXQgcmVmZXJzIHRvIHRoZSBJU08gc3RhbmRhcmRcbi8vIGhvb2tzLklTT184NjAxID0gZnVuY3Rpb24gKCkge307XG5leHBvcnQgY29uc3QgSVNPXzg2MDEgPSAnSVNPXzg2MDEnO1xuXG4vLyBjb25zdGFudCB0aGF0IHJlZmVycyB0byB0aGUgUkZDIDI4MjIgZm9ybVxuLy8gaG9va3MuUkZDXzI4MjIgPSBmdW5jdGlvbiAoKSB7fTtcbmV4cG9ydCBjb25zdCBSRkNfMjgyMiA9ICdSRkNfMjgyMic7XG5cbi8vIGRhdGUgZnJvbSBzdHJpbmcgYW5kIGZvcm1hdCBzdHJpbmdcbmV4cG9ydCBmdW5jdGlvbiBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0KGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0byBhbm90aGVyIHBhcnQgb2YgdGhlIGNyZWF0aW9uIGZsb3cgdG8gcHJldmVudCBjaXJjdWxhciBkZXBzXG4gIGlmIChjb25maWcuX2YgPT09IElTT184NjAxKSB7XG4gICAgcmV0dXJuIGNvbmZpZ0Zyb21JU08oY29uZmlnKTtcbiAgfVxuICBpZiAoY29uZmlnLl9mID09PSBSRkNfMjgyMikge1xuICAgIHJldHVybiBjb25maWdGcm9tUkZDMjgyMihjb25maWcpO1xuICB9XG4gIGNvbmZpZy5fYSA9IFtdO1xuICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5lbXB0eSA9IHRydWU7XG5cbiAgaWYgKGlzQXJyYXkoY29uZmlnLl9mKSB8fCAoIWNvbmZpZy5faSAmJiBjb25maWcuX2kgIT09IDApKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIC8vIFRoaXMgYXJyYXkgaXMgdXNlZCB0byBtYWtlIGEgRGF0ZSwgZWl0aGVyIHdpdGggYG5ldyBEYXRlYCBvciBgRGF0ZS5VVENgXG5cbiAgbGV0IGlucHV0ID0gY29uZmlnLl9pLnRvU3RyaW5nKCk7XG4gIGxldCB0b3RhbFBhcnNlZElucHV0TGVuZ3RoID0gMDtcbiAgY29uc3QgaW5wdXRMZW5ndGggPSBpbnB1dC5sZW5ndGg7XG4gIGNvbnN0IHRva2VucyA9IGV4cGFuZEZvcm1hdChjb25maWcuX2YsIGNvbmZpZy5fbG9jYWxlKS5tYXRjaChmb3JtYXR0aW5nVG9rZW5zKSB8fCBbXTtcblxuICBsZXQgaTtcbiAgbGV0IHRva2VuO1xuICBsZXQgcGFyc2VkSW5wdXQ7XG4gIGxldCBza2lwcGVkO1xuICBmb3IgKGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgdG9rZW4gPSB0b2tlbnNbaV07XG4gICAgcGFyc2VkSW5wdXQgPSAoaW5wdXQubWF0Y2goZ2V0UGFyc2VSZWdleEZvclRva2VuKHRva2VuLCBjb25maWcuX2xvY2FsZSkpIHx8IFtdKVswXTtcbiAgICBpZiAocGFyc2VkSW5wdXQpIHtcbiAgICAgIHNraXBwZWQgPSBpbnB1dC5zdWJzdHIoMCwgaW5wdXQuaW5kZXhPZihwYXJzZWRJbnB1dCkpO1xuICAgICAgaWYgKHNraXBwZWQubGVuZ3RoID4gMCkge1xuICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS51bnVzZWRJbnB1dC5wdXNoKHNraXBwZWQpO1xuICAgICAgfVxuICAgICAgaW5wdXQgPSBpbnB1dC5zbGljZShpbnB1dC5pbmRleE9mKHBhcnNlZElucHV0KSArIHBhcnNlZElucHV0Lmxlbmd0aCk7XG4gICAgICB0b3RhbFBhcnNlZElucHV0TGVuZ3RoICs9IHBhcnNlZElucHV0Lmxlbmd0aDtcbiAgICB9XG4gICAgLy8gZG9uJ3QgcGFyc2UgaWYgaXQncyBub3QgYSBrbm93biB0b2tlblxuICAgIGlmIChmb3JtYXRUb2tlbkZ1bmN0aW9uc1t0b2tlbl0pIHtcbiAgICAgIGlmIChwYXJzZWRJbnB1dCkge1xuICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5lbXB0eSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkVG9rZW5zLnB1c2godG9rZW4pO1xuICAgICAgfVxuXG4gICAgICBhZGRUaW1lVG9BcnJheUZyb21Ub2tlbih0b2tlbiwgcGFyc2VkSW5wdXQsIGNvbmZpZyk7XG4gICAgfSBlbHNlIGlmIChjb25maWcuX3N0cmljdCAmJiAhcGFyc2VkSW5wdXQpIHtcbiAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLnVudXNlZFRva2Vucy5wdXNoKHRva2VuKTtcbiAgICB9XG4gIH1cblxuICAvLyBhZGQgcmVtYWluaW5nIHVucGFyc2VkIGlucHV0IGxlbmd0aCB0byB0aGUgc3RyaW5nXG4gIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmNoYXJzTGVmdE92ZXIgPSBpbnB1dExlbmd0aCAtIHRvdGFsUGFyc2VkSW5wdXRMZW5ndGg7XG4gIGlmIChpbnB1dC5sZW5ndGggPiAwKSB7XG4gICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkSW5wdXQucHVzaChpbnB1dCk7XG4gIH1cblxuICAvLyBjbGVhciBfMTJoIGZsYWcgaWYgaG91ciBpcyA8PSAxMlxuICBpZiAoY29uZmlnLl9hW0hPVVJdIDw9IDEyICYmXG4gICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuYmlnSG91ciA9PT0gdHJ1ZSAmJlxuICAgIGNvbmZpZy5fYVtIT1VSXSA+IDApIHtcbiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdm9pZCAwO1xuICB9XG5cbiAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykucGFyc2VkRGF0ZVBhcnRzID0gY29uZmlnLl9hLnNsaWNlKDApO1xuICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5tZXJpZGllbSA9IGNvbmZpZy5fbWVyaWRpZW07XG4gIC8vIGhhbmRsZSBtZXJpZGllbVxuICBjb25maWcuX2FbSE9VUl0gPSBtZXJpZGllbUZpeFdyYXAoY29uZmlnLl9sb2NhbGUsIGNvbmZpZy5fYVtIT1VSXSwgY29uZmlnLl9tZXJpZGllbSk7XG5cbiAgY29uZmlnRnJvbUFycmF5KGNvbmZpZyk7XG5cbiAgcmV0dXJuIGNoZWNrT3ZlcmZsb3coY29uZmlnKTtcbn1cblxuXG5mdW5jdGlvbiBtZXJpZGllbUZpeFdyYXAobG9jYWxlOiBMb2NhbGUsIF9ob3VyOiBudW1iZXIsIG1lcmlkaWVtOiBzdHJpbmcpOiBudW1iZXIge1xuICBsZXQgaG91ciA9IF9ob3VyO1xuXG4gIGlmIChtZXJpZGllbSA9PSBudWxsKSB7XG4gICAgLy8gbm90aGluZyB0byBkb1xuICAgIHJldHVybiBob3VyO1xuICB9XG5cbiAgaWYgKGxvY2FsZS5tZXJpZGllbUhvdXIgIT0gbnVsbCkge1xuICAgIHJldHVybiBsb2NhbGUubWVyaWRpZW1Ib3VyKGhvdXIsIG1lcmlkaWVtKTtcbiAgfVxuXG4gIGlmIChsb2NhbGUuaXNQTSA9PSBudWxsKSB7XG4gICAgLy8gdGhpcyBpcyBub3Qgc3VwcG9zZWQgdG8gaGFwcGVuXG4gICAgcmV0dXJuIGhvdXI7XG4gIH1cbiAgLy8gRmFsbGJhY2tcbiAgY29uc3QgaXNQbSA9IGxvY2FsZS5pc1BNKG1lcmlkaWVtKTtcbiAgaWYgKGlzUG0gJiYgaG91ciA8IDEyKSB7XG4gICAgaG91ciArPSAxMjtcbiAgfVxuXG4gIGlmICghaXNQbSAmJiBob3VyID09PSAxMikge1xuICAgIGhvdXIgPSAwO1xuICB9XG5cbiAgcmV0dXJuIGhvdXI7XG59XG4iXX0=","import { createInvalid, isValid } from './valid';\nimport { getParsingFlags } from './parsing-flags';\nimport { configFromStringAndFormat } from './from-string-and-format';\n// date from string and array of format strings\nexport function configFromStringAndArray(config) {\n let tempConfig;\n let bestMoment;\n let scoreToBeat;\n let currentScore;\n if (!config._f || config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n return createInvalid(config);\n }\n let i;\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = Object.assign({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n if (!isValid(tempConfig)) {\n continue;\n }\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n // or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n getParsingFlags(tempConfig).score = currentScore;\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n return Object.assign(config, bestMoment || tempConfig);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1zdHJpbmctYW5kLWFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvY3JlYXRlL2Zyb20tc3RyaW5nLWFuZC1hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckUsK0NBQStDO0FBQy9DLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUF5QjtJQUNoRSxJQUFJLFVBQVUsQ0FBQztJQUNmLElBQUksVUFBVSxDQUFDO0lBQ2YsSUFBSSxXQUFXLENBQUM7SUFDaEIsSUFBSSxZQUFZLENBQUM7SUFFakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFFN0MsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksQ0FBQyxDQUFDO0lBQ04sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3RDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQixVQUFVLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDdEMsQ0FBQztRQUNELFVBQVUsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3Qix5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDekIsU0FBUztRQUNYLENBQUM7UUFFRCwwRUFBMEU7UUFDMUUsWUFBWSxJQUFJLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFMUQsWUFBWTtRQUNaLFlBQVksSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFckUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFFakQsSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLFlBQVksR0FBRyxXQUFXLEVBQUUsQ0FBQztZQUN0RCxXQUFXLEdBQUcsWUFBWSxDQUFDO1lBQzNCLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsSUFBSSxVQUFVLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuL3BhcnNpbmcudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlSW52YWxpZCwgaXNWYWxpZCB9IGZyb20gJy4vdmFsaWQnO1xuaW1wb3J0IHsgZ2V0UGFyc2luZ0ZsYWdzIH0gZnJvbSAnLi9wYXJzaW5nLWZsYWdzJztcbmltcG9ydCB7IGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQgfSBmcm9tICcuL2Zyb20tc3RyaW5nLWFuZC1mb3JtYXQnO1xuXG4vLyBkYXRlIGZyb20gc3RyaW5nIGFuZCBhcnJheSBvZiBmb3JtYXQgc3RyaW5nc1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBsZXQgdGVtcENvbmZpZztcbiAgbGV0IGJlc3RNb21lbnQ7XG4gIGxldCBzY29yZVRvQmVhdDtcbiAgbGV0IGN1cnJlbnRTY29yZTtcblxuICBpZiAoIWNvbmZpZy5fZiB8fCBjb25maWcuX2YubGVuZ3RoID09PSAwKSB7XG4gICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaW52YWxpZEZvcm1hdCA9IHRydWU7XG5cbiAgICByZXR1cm4gY3JlYXRlSW52YWxpZChjb25maWcpO1xuICB9XG5cbiAgbGV0IGk7XG4gIGZvciAoaSA9IDA7IGkgPCBjb25maWcuX2YubGVuZ3RoOyBpKyspIHtcbiAgICBjdXJyZW50U2NvcmUgPSAwO1xuICAgIHRlbXBDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgIGlmIChjb25maWcuX3VzZVVUQyAhPSBudWxsKSB7XG4gICAgICB0ZW1wQ29uZmlnLl91c2VVVEMgPSBjb25maWcuX3VzZVVUQztcbiAgICB9XG4gICAgdGVtcENvbmZpZy5fZiA9IGNvbmZpZy5fZltpXTtcbiAgICBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0KHRlbXBDb25maWcpO1xuXG4gICAgaWYgKCFpc1ZhbGlkKHRlbXBDb25maWcpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBhbnkgaW5wdXQgdGhhdCB3YXMgbm90IHBhcnNlZCBhZGQgYSBwZW5hbHR5IGZvciB0aGF0IGZvcm1hdFxuICAgIGN1cnJlbnRTY29yZSArPSBnZXRQYXJzaW5nRmxhZ3ModGVtcENvbmZpZykuY2hhcnNMZWZ0T3ZlcjtcblxuICAgIC8vIG9yIHRva2Vuc1xuICAgIGN1cnJlbnRTY29yZSArPSBnZXRQYXJzaW5nRmxhZ3ModGVtcENvbmZpZykudW51c2VkVG9rZW5zLmxlbmd0aCAqIDEwO1xuXG4gICAgZ2V0UGFyc2luZ0ZsYWdzKHRlbXBDb25maWcpLnNjb3JlID0gY3VycmVudFNjb3JlO1xuXG4gICAgaWYgKHNjb3JlVG9CZWF0ID09IG51bGwgfHwgY3VycmVudFNjb3JlIDwgc2NvcmVUb0JlYXQpIHtcbiAgICAgIHNjb3JlVG9CZWF0ID0gY3VycmVudFNjb3JlO1xuICAgICAgYmVzdE1vbWVudCA9IHRlbXBDb25maWc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oY29uZmlnLCBiZXN0TW9tZW50IHx8IHRlbXBDb25maWcpO1xufVxuIl19","import { normalizeObjectUnits } from '../units/aliases';\nimport { configFromArray } from './from-array';\nimport { isObject, isString } from '../utils/type-checks';\nexport function configFromObject(config) {\n if (config._d) {\n return config;\n }\n const input = config._i;\n if (isObject(input)) {\n const i = normalizeObjectUnits(input);\n config._a = [i.year, i.month, i.day, i.hours, i.minutes, i.seconds, i.milliseconds]\n // todo: obsolete -> remove it\n .map(obj => isString(obj) ? parseInt(obj, 10) : obj);\n }\n return configFromArray(config);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1vYmplY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9jcmVhdGUvZnJvbS1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUF5QjtJQUN4RCxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNkLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3hCLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsS0FBZ0MsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ25GLDhCQUE4QjthQUMzQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplT2JqZWN0VW5pdHMgfSBmcm9tICcuLi91bml0cy9hbGlhc2VzJztcbmltcG9ydCB7IGNvbmZpZ0Zyb21BcnJheSB9IGZyb20gJy4vZnJvbS1hcnJheSc7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4vcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBpc09iamVjdCwgaXNTdHJpbmcgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWdGcm9tT2JqZWN0KGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gIGlmIChjb25maWcuX2QpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgY29uc3QgaW5wdXQgPSBjb25maWcuX2k7XG4gIGlmIChpc09iamVjdChpbnB1dCkpIHtcbiAgICBjb25zdCBpID0gbm9ybWFsaXplT2JqZWN0VW5pdHMoaW5wdXQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgIGNvbmZpZy5fYSA9IFtpLnllYXIsIGkubW9udGgsIGkuZGF5LCBpLmhvdXJzLCBpLm1pbnV0ZXMsIGkuc2Vjb25kcywgaS5taWxsaXNlY29uZHNdXG4gICAgLy8gdG9kbzogb2Jzb2xldGUgLT4gcmVtb3ZlIGl0XG4gICAgICAubWFwKG9iaiA9PiBpc1N0cmluZyhvYmopID8gcGFyc2VJbnQob2JqLCAxMCkgOiBvYmopO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZ0Zyb21BcnJheShjb25maWcpO1xufVxuIl19","import { isArray, isDate, isNumber, isObject, isObjectEmpty, isString, isUndefined } from '../utils/type-checks';\nimport { getLocale } from '../locale/locales';\nimport { createInvalid, isValid } from './valid';\nimport { configFromStringAndArray } from './from-string-and-array';\nimport { configFromStringAndFormat } from './from-string-and-format';\nimport { cloneDate } from './clone';\nimport { configFromString } from './from-string';\nimport { configFromArray } from './from-array';\nimport { configFromObject } from './from-object';\nimport { checkOverflow } from './check-overflow';\nfunction createFromConfig(config) {\n const res = checkOverflow(prepareConfig(config));\n // todo: remove, in moment.js it's never called cuz of moment constructor\n res._d = new Date(res._d != null ? res._d.getTime() : NaN);\n if (!isValid(Object.assign({}, res, { _isValid: null }))) {\n res._d = new Date(NaN);\n }\n // todo: update offset\n /*if (res._nextDay) {\n // Adding is smart enough around DST\n res._d = add(res._d, 1, 'day');\n res._nextDay = undefined;\n }*/\n return res;\n}\nexport function prepareConfig(config) {\n let input = config._i;\n const format = config._f;\n config._locale = config._locale || getLocale(config._l);\n if (input === null || (format === undefined && input === '')) {\n return createInvalid(config, { nullInput: true });\n }\n if (isString(input)) {\n config._i = input = config._locale.preparse(input, format);\n }\n if (isDate(input)) {\n config._d = cloneDate(input);\n return config;\n }\n // todo: add check for recursion\n if (isArray(format)) {\n configFromStringAndArray(config);\n }\n else if (format) {\n configFromStringAndFormat(config);\n }\n else {\n configFromInput(config);\n }\n if (!isValid(config)) {\n config._d = null;\n }\n return config;\n}\nfunction configFromInput(config) {\n const input = config._i;\n if (isUndefined(input)) {\n config._d = new Date();\n }\n else if (isDate(input)) {\n config._d = cloneDate(input);\n }\n else if (isString(input)) {\n configFromString(config);\n }\n else if (isArray(input) && input.length) {\n const _arr = input.slice(0);\n config._a = _arr.map(obj => isString(obj) ? parseInt(obj, 10) : obj);\n configFromArray(config);\n }\n else if (isObject(input)) {\n configFromObject(config);\n }\n else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n }\n else {\n // hooks.createFromInputFallback(config);\n return createInvalid(config);\n }\n return config;\n}\nexport function createLocalOrUTC(input, format, localeKey, strict, isUTC) {\n const config = {};\n let _input = input;\n // params switch -> skip; testing it well\n // if (localeKey === true || localeKey === false) {\n // strict = localeKey;\n // localeKey = undefined;\n // }\n // todo: fail fast and return not valid date\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 // config._isAMomentObject = true;\n config._useUTC = config._isUTC = isUTC;\n config._l = localeKey;\n config._i = _input;\n config._f = format;\n config._strict = strict;\n return createFromConfig(config);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1hbnl0aGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaHJvbm9zL2NyZWF0ZS9mcm9tLWFueXRoaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELFNBQVMsZ0JBQWdCLENBQUMsTUFBeUI7SUFDakQsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2pELHlFQUF5RTtJQUN6RSxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRCxJQUFJLENBQUMs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QUFHLE1BQU0sQ0FBQztJQUNuQixNQUFNLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNuQixNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUV4QixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0FycmF5LCBpc0RhdGUsIGlzTnVtYmVyLCBpc09iamVjdCwgaXNPYmplY3RFbXB0eSwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkIH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuL3BhcnNpbmcudHlwZXMnO1xuaW1wb3J0IHsgZ2V0TG9jYWxlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZXMnO1xuaW1wb3J0IHsgY3JlYXRlSW52YWxpZCwgaXNWYWxpZCB9IGZyb20gJy4vdmFsaWQnO1xuaW1wb3J0IHsgY29uZmlnRnJvbVN0cmluZ0FuZEFycmF5IH0gZnJvbSAnLi9mcm9tLXN0cmluZy1hbmQtYXJyYXknO1xuaW1wb3J0IHsgY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdCB9IGZyb20gJy4vZnJvbS1zdHJpbmctYW5kLWZvcm1hdCc7XG5pbXBvcnQgeyBjbG9uZURhdGUgfSBmcm9tICcuL2Nsb25lJztcbmltcG9ydCB7IGNvbmZpZ0Zyb21TdHJpbmcgfSBmcm9tICcuL2Zyb20tc3RyaW5nJztcbmltcG9ydCB7IGNvbmZpZ0Zyb21BcnJheSB9IGZyb20gJy4vZnJvbS1hcnJheSc7XG5pbXBvcnQgeyBjb25maWdGcm9tT2JqZWN0IH0gZnJvbSAnLi9mcm9tLW9iamVjdCc7XG5pbXBvcnQgeyBjaGVja092ZXJmbG93IH0gZnJvbSAnLi9jaGVjay1vdmVyZmxvdyc7XG5pbXBvcnQgeyBEYXRlSW5wdXQgfSBmcm9tICcuLi90ZXN0aW5nL2NoYWluJztcblxuZnVuY3Rpb24gY3JlYXRlRnJvbUNvbmZpZyhjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBjb25zdCByZXMgPSBjaGVja092ZXJmbG93KHByZXBhcmVDb25maWcoY29uZmlnKSk7XG4gIC8vIHRvZG86IHJlbW92ZSwgaW4gbW9tZW50LmpzIGl0J3MgbmV2ZXIgY2FsbGVkIGN1eiBvZiBtb21lbnQgY29uc3RydWN0b3JcbiAgcmVzLl9kID0gbmV3IERhdGUocmVzLl9kICE9IG51bGwgPyByZXMuX2QuZ2V0VGltZSgpIDogTmFOKTtcbiAgaWYgKCFpc1ZhbGlkKE9iamVjdC5hc3NpZ24oe30sIHJlcywge19pc1ZhbGlkOiBudWxsfSkpKSB7XG4gICAgcmVzLl9kID0gbmV3IERhdGUoTmFOKTtcbiAgfVxuICAvLyB0b2RvOiB1cGRhdGUgb2Zmc2V0XG4gIC8qaWYgKHJlcy5fbmV4dERheSkge1xuICAgIC8vIEFkZGluZyBpcyBzbWFydCBlbm91Z2ggYXJvdW5kIERTVFxuICAgIHJlcy5fZCA9IGFkZChyZXMuX2QsIDEsICdkYXknKTtcbiAgICByZXMuX25leHREYXkgPSB1bmRlZmluZWQ7XG4gIH0qL1xuXG4gIHJldHVybiByZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlQ29uZmlnKGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gIGxldCBpbnB1dCA9IGNvbmZpZy5faTtcbiAgY29uc3QgZm9ybWF0ID0gY29uZmlnLl9mO1xuXG4gIGNvbmZpZy5fbG9jYWxlID0gY29uZmlnLl9sb2NhbGUgfHwgZ2V0TG9jYWxlKGNvbmZpZy5fbCk7XG5cbiAgaWYgKGlucHV0ID09PSBudWxsIHx8IChmb3JtYXQgPT09IHVuZGVmaW5lZCAmJiBpbnB1dCA9PT0gJycpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUludmFsaWQoY29uZmlnLCB7IG51bGxJbnB1dDogdHJ1ZSB9KTtcbiAgfVxuXG4gIGlmIChpc1N0cmluZyhpbnB1dCkpIHtcbiAgICBjb25maWcuX2kgPSBpbnB1dCA9IGNvbmZpZy5fbG9jYWxlLnByZXBhcnNlKGlucHV0LCBmb3JtYXQpO1xuICB9XG5cbiAgaWYgKGlzRGF0ZShpbnB1dCkpIHtcbiAgICBjb25maWcuX2QgPSBjbG9uZURhdGUoaW5wdXQpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIC8vIHRvZG86IGFkZCBjaGVjayBmb3IgcmVjdXJzaW9uXG5cbiAgaWYgKGlzQXJyYXkoZm9ybWF0KSkge1xuICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWcpO1xuICB9IGVsc2UgaWYgKGZvcm1hdCkge1xuICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQoY29uZmlnKTtcbiAgfSBlbHNlIHtcbiAgICBjb25maWdGcm9tSW5wdXQoY29uZmlnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZChjb25maWcpKSB7XG4gICAgY29uZmlnLl9kID0gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmZ1bmN0aW9uIGNvbmZpZ0Zyb21JbnB1dChjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBjb25zdCBpbnB1dCA9IGNvbmZpZy5faTtcbiAgaWYgKGlzVW5kZWZpbmVkKGlucHV0KSkge1xuICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKCk7XG4gIH0gZWxzZSBpZiAoaXNEYXRlKGlucHV0KSkge1xuICAgIGNvbmZpZy5fZCA9IGNsb25lRGF0ZShpbnB1dCk7XG4gIH0gZWxzZSBpZiAoaXNTdHJpbmcoaW5wdXQpKSB7XG4gICAgY29uZmlnRnJvbVN0cmluZyhjb25maWcpO1xuICB9IGVsc2UgaWYgKGlzQXJyYXk8c3RyaW5nIHwgbnVtYmVyPihpbnB1dCkgJiYgaW5wdXQubGVuZ3RoKSB7XG4gICAgY29uc3QgX2FycjogKHN0cmluZyB8IG51bWJlcilbXSA9IGlucHV0LnNsaWNlKDApO1xuICAgIGNvbmZpZy5fYSA9IF9hcnIubWFwKG9iaiA9PiBpc1N0cmluZyhvYmopID8gcGFyc2VJbnQob2JqLCAxMCkgOiBvYmopO1xuICAgIGNvbmZpZ0Zyb21BcnJheShjb25maWcpO1xuICB9IGVsc2UgaWYgKGlzT2JqZWN0KGlucHV0KSkge1xuICAgIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKTtcbiAgfSBlbHNlIGlmIChpc051bWJlcihpbnB1dCkpIHtcbiAgICAvLyBmcm9tIG1pbGxpc2Vjb25kc1xuICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKGlucHV0KTtcbiAgfSBlbHNlIHtcbiAgICAvLyAgIGhvb2tzLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGNvbmZpZyk7XG4gICAgcmV0dXJuIGNyZWF0ZUludmFsaWQoY29uZmlnKTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2NhbE9yVVRDKGlucHV0OiBEYXRlSW5wdXQsIGZvcm1hdD86IHN0cmluZyB8IHN0cmluZ1tdLCBsb2NhbGVLZXk/OiBzdHJpbmcsIHN0cmljdD86IGJvb2xlYW4sIGlzVVRDPzogYm9vbGVhbik6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyA9IHt9O1xuICBsZXQgX2lucHV0ID0gaW5wdXQ7XG5cbiAgLy8gcGFyYW1zIHN3aXRjaCAtPiBza2lwOyB0ZXN0aW5nIGl0IHdlbGxcbiAgLy8gaWYgKGxvY2FsZUtleSA9PT0gdHJ1ZSB8fCBsb2NhbGVLZXkgPT09IGZhbHNlKSB7XG4gIC8vICAgICBzdHJpY3QgPSBsb2NhbGVLZXk7XG4gIC8vICAgICBsb2NhbGVLZXkgPSB1bmRlZmluZWQ7XG4gIC8vIH1cblxuICAvLyB0b2RvOiBmYWlsIGZhc3QgYW5kIHJldHVybiBub3QgdmFsaWQgZGF0ZVxuICBpZiAoKGlzT2JqZWN0KF9pbnB1dCkgJiYgaXNPYmplY3RFbXB0eShfaW5wdXQpKSB8fCAoaXNBcnJheShfaW5wdXQpICYmIF9pbnB1dC5sZW5ndGggPT09IDApKSB7XG4gICAgX2lucHV0ID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIG9iamVjdCBjb25zdHJ1Y3Rpb24gbXVzdCBiZSBkb25lIHRoaXMgd2F5LlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTQyM1xuICAvLyBjb25maWcuX2lzQU1vbWVudE9iamVjdCA9IHRydWU7XG4gIGNvbmZpZy5fdXNlVVRDID0gY29uZmlnLl9pc1VUQyA9IGlzVVRDO1xuICBjb25maWcuX2wgPSBsb2NhbGVLZXk7XG4gIGNvbmZpZy5faSA9IF9pbnB1dDtcbiAgY29uZmlnLl9mID0gZm9ybWF0O1xuICBjb25maWcuX3N0cmljdCA9IHN0cmljdDtcblxuICByZXR1cm4gY3JlYXRlRnJvbUNvbmZpZyhjb25maWcpO1xufVxuIl19","import { createLocalOrUTC } from './from-anything';\nimport { isDate } from '../utils/type-checks';\nexport function parseDate(input, format, localeKey, strict, isUTC) {\n if (isDate(input)) {\n return input;\n }\n const config = createLocalOrUTC(input, format, localeKey, strict, isUTC);\n return config._d;\n}\nexport function utcAsLocal(date) {\n if (!(date instanceof Date)) {\n return null;\n }\n return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9jcmVhdGUvbG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlDLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBZ0IsRUFBRSxNQUEwQixFQUM1QyxTQUFrQixFQUFFLE1BQWdCLEVBQUUsS0FBZTtJQUM3RSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV6RSxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBSTtJQUM3QixJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLElBQUksSUFBSSxDQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLEVBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUMxQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUxvY2FsT3JVVEMgfSBmcm9tICcuL2Zyb20tYW55dGhpbmcnO1xuaW1wb3J0IHsgRGF0ZUlucHV0IH0gZnJvbSAnLi4vdGVzdGluZy9jaGFpbic7XG5pbXBvcnQgeyBpc0RhdGUgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURhdGUoaW5wdXQ6IERhdGVJbnB1dCwgZm9ybWF0Pzogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZUtleT86IHN0cmluZywgc3RyaWN0PzogYm9vbGVhbiwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGlmIChpc0RhdGUoaW5wdXQpKSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgY29uc3QgY29uZmlnID0gY3JlYXRlTG9jYWxPclVUQyhpbnB1dCwgZm9ybWF0LCBsb2NhbGVLZXksIHN0cmljdCwgaXNVVEMpO1xuXG4gIHJldHVybiBjb25maWcuX2Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1dGNBc0xvY2FsKGRhdGUpIHtcbiAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gbmV3IERhdGUoXG4gICAgZGF0ZS5nZXRVVENGdWxsWWVhcigpLFxuICAgIGRhdGUuZ2V0VVRDTW9udGgoKSxcbiAgICBkYXRlLmdldFVUQ0RhdGUoKSxcbiAgICBkYXRlLmdldFVUQ0hvdXJzKCksXG4gICAgZGF0ZS5nZXRVVENNaW51dGVzKCksXG4gICAgZGF0ZS5nZXRVVENTZWNvbmRzKCksXG4gICAgZGF0ZS5nZXRVVENNaWxsaXNlY29uZHMoKVxuICApO1xufVxuIl19","export function absRound(num) {\n return num < 0 ? Math.round(num * -1) * -1 : Math.round(num);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzLXJvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdXRpbHMvYWJzLXJvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBVztJQUNsQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBhYnNSb3VuZChudW06IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBudW0gPCAwID8gTWF0aC5yb3VuZChudW0gKiAtMSkgKiAtMSA6IE1hdGgucm91bmQobnVtKTtcbn1cbiJdfQ==","import { endOf, startOf } from './start-end-of';\nexport function isAfter(date1, date2, units = 'milliseconds') {\n if (!date1 || !date2) {\n return false;\n }\n if (units === 'milliseconds') {\n return date1.valueOf() > date2.valueOf();\n }\n return date2.valueOf() < startOf(date1, units).valueOf();\n}\nexport function isBefore(date1, date2, units = 'milliseconds') {\n if (!date1 || !date2) {\n return false;\n }\n if (units === 'milliseconds') {\n return date1.valueOf() < date2.valueOf();\n }\n return endOf(date1, units).valueOf() < date2.valueOf();\n}\nexport function isDisabledDay(date, daysDisabled) {\n if (typeof daysDisabled === 'undefined' || !daysDisabled || !daysDisabled.length) {\n return false;\n }\n return daysDisabled.some((day) => day === date.getDay());\n}\nexport function isBetween(date, from, to, units, inclusivity = '()') {\n const leftBound = inclusivity[0] === '('\n ? isAfter(date, from, units)\n : !isBefore(date, from, units);\n const rightBound = inclusivity[1] === ')'\n ? isBefore(date, to, units)\n : !isAfter(date, to, units);\n return leftBound && rightBound;\n}\nexport function isSame(date1, date2, units = 'milliseconds') {\n if (!date1 || !date2) {\n return false;\n }\n if (units === 'milliseconds') {\n return date1.valueOf() === date2.valueOf();\n }\n const inputMs = date2.valueOf();\n return (startOf(date1, units).valueOf() <= inputMs &&\n inputMs <= endOf(date1, units).valueOf());\n}\nexport function isSameDay(date1, date2) {\n return (date1.getDay() == date2.getDay());\n}\nexport function isSameOrAfter(date1, date2, units) {\n return isSame(date1, date2, units) || isAfter(date1, date2, units);\n}\nexport function isSameOrBefore(date1, date2, units) {\n return isSame(date1, date2, units) || isBefore(date1, date2, units);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jb21wYXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvdXRpbHMvZGF0ZS1jb21wYXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsTUFBTSxVQUFVLE9BQU8sQ0FDckIsS0FBWSxFQUNaLEtBQVksRUFDWixRQUFvQixjQUFjO0lBRWxDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLEtBQUssS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQ3RCLEtBQVksRUFDWixLQUFZLEVBQ1osUUFBb0IsY0FBYztJQUVsQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxLQUFLLEtBQUssY0FBYyxFQUFFLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVcsRUFBRSxZQUF1QjtJQUNoRSxJQUFJLE9BQU8sWUFBWSxLQUFLLFdBQVcsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsSUFBVSxFQUNWLElBQVUsRUFDVixFQUFRLEVBQ1IsS0FBaUIsRUFDakIsV0FBVyxHQUFHLElBQUk7SUFFbEIsTUFBTSxTQUFTLEdBQ2IsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUc7UUFDcEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxNQUFNLFVBQVUsR0FDZCxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRztRQUNwQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRWhDLE9BQU8sU0FBUyxJQUFJLFVBQVUsQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsS0FBWSxFQUNaLEtBQVksRUFDWixRQUFvQixjQUFjO0lBRWxDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLEtBQUssS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUVoQyxPQUFPLENBQ0wsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxPQUFPO1FBQzFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUN6QyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVyxFQUFFLEtBQVc7SUFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsS0FBVyxFQUNYLEtBQVcsRUFDWCxLQUFrQjtJQUVsQixPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3JFLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUM1QixLQUFXLEVBQ1gsS0FBVyxFQUNYLEtBQWtCO0lBRWxCLE9BQU8sTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVuaXRPZlRpbWUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBlbmRPZiwgc3RhcnRPZiB9IGZyb20gJy4vc3RhcnQtZW5kLW9mJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWZ0ZXIoXG4gIGRhdGUxPzogRGF0ZSxcbiAgZGF0ZTI/OiBEYXRlLFxuICB1bml0czogVW5pdE9mVGltZSA9ICdtaWxsaXNlY29uZHMnXG4pOiBib29sZWFuIHtcbiAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZHMnKSB7XG4gICAgcmV0dXJuIGRhdGUxLnZhbHVlT2YoKSA+IGRhdGUyLnZhbHVlT2YoKTtcbiAgfVxuXG4gIHJldHVybiBkYXRlMi52YWx1ZU9mKCkgPCBzdGFydE9mKGRhdGUxLCB1bml0cykudmFsdWVPZigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCZWZvcmUoXG4gIGRhdGUxPzogRGF0ZSxcbiAgZGF0ZTI/OiBEYXRlLFxuICB1bml0czogVW5pdE9mVGltZSA9ICdtaWxsaXNlY29uZHMnXG4pOiBib29sZWFuIHtcbiAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZHMnKSB7XG4gICAgcmV0dXJuIGRhdGUxLnZhbHVlT2YoKSA8IGRhdGUyLnZhbHVlT2YoKTtcbiAgfVxuXG4gIHJldHVybiBlbmRPZihkYXRlMSwgdW5pdHMpLnZhbHVlT2YoKSA8IGRhdGUyLnZhbHVlT2YoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlzYWJsZWREYXkoZGF0ZT86IERhdGUsIGRheXNEaXNhYmxlZD86IG51bWJlcltdKTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2YgZGF5c0Rpc2FibGVkID09PSAndW5kZWZpbmVkJyB8fCAhZGF5c0Rpc2FibGVkIHx8ICFkYXlzRGlzYWJsZWQubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGRheXNEaXNhYmxlZC5zb21lKChkYXk6IG51bWJlcikgPT4gZGF5ID09PSBkYXRlLmdldERheSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQmV0d2VlbihcbiAgZGF0ZTogRGF0ZSxcbiAgZnJvbTogRGF0ZSxcbiAgdG86IERhdGUsXG4gIHVuaXRzOiBVbml0T2ZUaW1lLFxuICBpbmNsdXNpdml0eSA9ICcoKSdcbik6IGJvb2xlYW4ge1xuICBjb25zdCBsZWZ0Qm91bmQgPVxuICAgIGluY2x1c2l2aXR5WzBdID09PSAnKCdcbiAgICAgID8gaXNBZnRlcihkYXRlLCBmcm9tLCB1bml0cylcbiAgICAgIDogIWlzQmVmb3JlKGRhdGUsIGZyb20sIHVuaXRzKTtcbiAgY29uc3QgcmlnaHRCb3VuZCA9XG4gICAgaW5jbHVzaXZpdHlbMV0gPT09ICcpJ1xuICAgICAgPyBpc0JlZm9yZShkYXRlLCB0bywgdW5pdHMpXG4gICAgICA6ICFpc0FmdGVyKGRhdGUsIHRvLCB1bml0cyk7XG5cbiAgcmV0dXJuIGxlZnRCb3VuZCAmJiByaWdodEJvdW5kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lKFxuICBkYXRlMT86IERhdGUsXG4gIGRhdGUyPzogRGF0ZSxcbiAgdW5pdHM6IFVuaXRPZlRpbWUgPSAnbWlsbGlzZWNvbmRzJ1xuKTogYm9vbGVhbiB7XG4gIGlmICghZGF0ZTEgfHwgIWRhdGUyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHVuaXRzID09PSAnbWlsbGlzZWNvbmRzJykge1xuICAgIHJldHVybiBkYXRlMS52YWx1ZU9mKCkgPT09IGRhdGUyLnZhbHVlT2YoKTtcbiAgfVxuXG4gIGNvbnN0IGlucHV0TXMgPSBkYXRlMi52YWx1ZU9mKCk7XG5cbiAgcmV0dXJuIChcbiAgICBzdGFydE9mKGRhdGUxLCB1bml0cykudmFsdWVPZigpIDw9IGlucHV0TXMgJiZcbiAgICBpbnB1dE1zIDw9IGVuZE9mKGRhdGUxLCB1bml0cykudmFsdWVPZigpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhbWVEYXkoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTpib29sZWFue1xuICByZXR1cm4gKGRhdGUxLmdldERheSgpID09IGRhdGUyLmdldERheSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZU9yQWZ0ZXIoXG4gIGRhdGUxOiBEYXRlLFxuICBkYXRlMjogRGF0ZSxcbiAgdW5pdHM/OiBVbml0T2ZUaW1lXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzU2FtZShkYXRlMSwgZGF0ZTIsIHVuaXRzKSB8fCBpc0FmdGVyKGRhdGUxLCBkYXRlMiwgdW5pdHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lT3JCZWZvcmUoXG4gIGRhdGUxOiBEYXRlLFxuICBkYXRlMjogRGF0ZSxcbiAgdW5pdHM/OiBVbml0T2ZUaW1lXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzU2FtZShkYXRlMSwgZGF0ZTIsIHVuaXRzKSB8fCBpc0JlZm9yZShkYXRlMSwgZGF0ZTIsIHVuaXRzKTtcbn1cbiJdfQ==","// ASP.NET json date format regex\nimport { Duration, isDuration } from './constructor';\nimport { isDateValid, isNumber, isObject, isString, toInt } from '../utils/type-checks';\nimport { DATE, HOUR, MILLISECOND, MINUTE, SECOND } from '../units/constants';\nimport { parseDate } from '../create/local';\nimport { absRound } from '../utils/abs-round';\nimport { cloneWithOffset } from '../units/offset';\nimport { isAfter, isBefore } from '../utils/date-compare';\nimport { getFullYear, getMonth } from '../utils/date-getters';\nimport { add } from '../moment/add-subtract';\nimport { cloneDate } from '../create/clone';\nconst 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\nconst isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\nexport function createDuration(input, key, config = {}) {\n const duration = convertDuration(input, key);\n // matching against regexp is expensive, do it on demand\n return new Duration(duration, config);\n}\nfunction convertDuration(input, key) {\n // checks for null or undefined\n if (input == null) {\n return {};\n }\n if (isDuration(input)) {\n return {\n milliseconds: input._milliseconds,\n day: input._days,\n month: input._months\n };\n }\n if (isNumber(input)) {\n // duration = {};\n return key ? { [key]: input } : { milliseconds: input };\n }\n if (isString(input)) {\n let match = aspNetRegex.exec(input);\n if (match) {\n const sign = (match[1] === '-') ? -1 : 1;\n return {\n year: 0,\n day: toInt(match[DATE]) * sign,\n hours: toInt(match[HOUR]) * sign,\n minutes: toInt(match[MINUTE]) * sign,\n seconds: toInt(match[SECOND]) * sign,\n // the millisecond decimal point is included in the match\n milliseconds: toInt(absRound(toInt(match[MILLISECOND]) * 1000)) * sign\n };\n }\n match = isoRegex.exec(input);\n if (match) {\n const sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n return {\n year: parseIso(match[2], sign),\n month: parseIso(match[3], sign),\n week: parseIso(match[4], sign),\n day: parseIso(match[5], sign),\n hours: parseIso(match[6], sign),\n minutes: parseIso(match[7], sign),\n seconds: parseIso(match[8], sign)\n };\n }\n }\n if (isObject(input) && ('from' in input || 'to' in input)) {\n const diffRes = momentsDifference(parseDate(input.from), parseDate(input.to));\n return {\n milliseconds: diffRes.milliseconds,\n month: diffRes.months\n };\n }\n return input;\n}\n// createDuration.fn = Duration.prototype;\n// createDuration.invalid = invalid;\nfunction 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 const res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n}\nfunction positiveMomentsDifference(base, other) {\n const res = { milliseconds: 0, months: 0 };\n res.months = getMonth(other) - getMonth(base) +\n (getFullYear(other) - getFullYear(base)) * 12;\n const _basePlus = add(cloneDate(base), res.months, 'month');\n if (isAfter(_basePlus, other)) {\n --res.months;\n }\n res.milliseconds = +other - +(add(cloneDate(base), res.months, 'month'));\n return res;\n}\nfunction momentsDifference(base, other) {\n if (!(isDateValid(base) && isDateValid(other))) {\n return { milliseconds: 0, months: 0 };\n }\n let res;\n const _other = cloneWithOffset(other, base, { _offset: base.getTimezoneOffset() });\n if (isBefore(base, _other)) {\n res = positiveMomentsDifference(base, _other);\n }\n else {\n res = positiveMomentsDifference(_other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n return res;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvZHVyYXRpb24vY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsTUFBTSxXQUFXLEdBQUcsMERBQTBELENBQUM7QUFFL0UsNEZBQTRGO0FBQzVGLDRFQUE0RTtBQUM1RSx5RUFBeUU7QUFDekUsTUFBTSxRQUFRLEdBQUcscUtBQXFLLENBQUM7QUFJdkwsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFxQixFQUFFLEdBQVksRUFBRSxTQUE0QixFQUFFO0lBQ2hHLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7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QUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxHQUFHLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUNyQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQVNQLk5FVCBqc29uIGRhdGUgZm9ybWF0IHJlZ2V4XG5pbXBvcnQgeyBEdXJhdGlvbiwgaXNEdXJhdGlvbiB9IGZyb20gJy4vY29uc3RydWN0b3InO1xuaW1wb3J0IHsgaXNEYXRlVmFsaWQsIGlzTnVtYmVyLCBpc09iamVjdCwgaXNTdHJpbmcsIHRvSW50IH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgREFURSwgSE9VUiwgTUlMTElTRUNPTkQsIE1JTlVURSwgU0VDT05EIH0gZnJvbSAnLi4vdW5pdHMvY29uc3RhbnRzJztcbmltcG9ydCB7IHBhcnNlRGF0ZSB9IGZyb20gJy4uL2NyZWF0ZS9sb2NhbCc7XG5pbXBvcnQgeyBhYnNSb3VuZCB9IGZyb20gJy4uL3V0aWxzL2Ficy1yb3VuZCc7XG5pbXBvcnQgeyBEYXRlT2JqZWN0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuLi9jcmVhdGUvcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBjbG9uZVdpdGhPZmZzZXQgfSBmcm9tICcuLi91bml0cy9vZmZzZXQnO1xuaW1wb3J0IHsgaXNBZnRlciwgaXNCZWZvcmUgfSBmcm9tICcuLi91dGlscy9kYXRlLWNvbXBhcmUnO1xuaW1wb3J0IHsgZ2V0RnVsbFllYXIsIGdldE1vbnRoIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IGFkZCB9IGZyb20gJy4uL21vbWVudC9hZGQtc3VidHJhY3QnO1xuaW1wb3J0IHsgY2xvbmVEYXRlIH0gZnJvbSAnLi4vY3JlYXRlL2Nsb25lJztcblxuY29uc3QgYXNwTmV0UmVnZXggPSAvXihcXC18XFwrKT8oPzooXFxkKilbLiBdKT8oXFxkKylcXDooXFxkKykoPzpcXDooXFxkKykoXFwuXFxkKik/KT8kLztcblxuLy8gZnJvbSBodHRwOi8vZG9jcy5jbG9zdXJlLWxpYnJhcnkuZ29vZ2xlY29kZS5jb20vZ2l0L2Nsb3N1cmVfZ29vZ19kYXRlX2RhdGUuanMuc291cmNlLmh0bWxcbi8vIHNvbWV3aGF0IG1vcmUgaW4gbGluZSB3aXRoIDQuNC4zLjIgMjAwNCBzcGVjLCBidXQgYWxsb3dzIGRlY2ltYWwgYW55d2hlcmVcbi8vIGFuZCBmdXJ0aGVyIG1vZGlmaWVkIHRvIGFsbG93IGZvciBzdHJpbmdzIGNvbnRhaW5pbmcgYm90aCB3ZWVrIGFuZCBkYXlcbmNvbnN0IGlzb1JlZ2V4ID0gL14oLXxcXCspP1AoPzooWy0rXT9bMC05LC5dKilZKT8oPzooWy0rXT9bMC05LC5dKilNKT8oPzooWy0rXT9bMC05LC5dKilXKT8oPzooWy0rXT9bMC05LC5dKilEKT8oPzpUKD86KFstK10/WzAtOSwuXSopSCk/KD86KFstK10/WzAtOSwuXSopTSk/KD86KFstK10/WzAtOSwuXSopUyk/KT8kLztcblxuZXhwb3J0IHR5cGUgRHVyYXRpb25JbnB1dCA9IHN0cmluZyB8IG51bWJlciB8IER1cmF0aW9uIHwgUGFydGlhbDxEYXRlT2JqZWN0PiB8IHsgZnJvbTogRGF0ZTsgdG86IERhdGUgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUR1cmF0aW9uKGlucHV0PzogRHVyYXRpb25JbnB1dCwga2V5Pzogc3RyaW5nLCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnID0ge30pIHtcbiAgY29uc3QgZHVyYXRpb24gPSBjb252ZXJ0RHVyYXRpb24oaW5wdXQsIGtleSk7XG4gIC8vIG1hdGNoaW5nIGFnYWluc3QgcmVnZXhwIGlzIGV4cGVuc2l2ZSwgZG8gaXQgb24gZGVtYW5kXG5cbiAgcmV0dXJuIG5ldyBEdXJhdGlvbihkdXJhdGlvbiwgY29uZmlnKTtcbn1cblxuZnVuY3Rpb24gY29udmVydER1cmF0aW9uKGlucHV0OiBhbnksIGtleTogc3RyaW5nKTogUGFydGlhbDxEYXRlT2JqZWN0PiB7XG4gIC8vIGNoZWNrcyBmb3IgbnVsbCBvciB1bmRlZmluZWRcbiAgaWYgKGlucHV0ID09IG51bGwpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAoaXNEdXJhdGlvbihpbnB1dCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWlsbGlzZWNvbmRzOiBpbnB1dC5fbWlsbGlzZWNvbmRzLFxuICAgICAgZGF5OiBpbnB1dC5fZGF5cyxcbiAgICAgIG1vbnRoOiBpbnB1dC5fbW9udGhzXG4gICAgfTtcbiAgfVxuICBpZiAoaXNOdW1iZXIoaW5wdXQpKSB7XG4gICAgLy8gZHVyYXRpb24gPSB7fTtcbiAgICByZXR1cm4ga2V5ID8geyBba2V5XTogaW5wdXQgfSA6IHsgbWlsbGlzZWNvbmRzOiBpbnB1dCB9O1xuICB9XG5cbiAgaWYgKGlzU3RyaW5nKGlucHV0KSkge1xuICAgIGxldCBtYXRjaCA9IGFzcE5ldFJlZ2V4LmV4ZWMoaW5wdXQpO1xuXG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICBjb25zdCBzaWduID0gKG1hdGNoWzFdID09PSAnLScpID8gLTEgOiAxO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB5ZWFyOiAwLFxuICAgICAgICBkYXk6IHRvSW50KG1hdGNoW0RBVEVdKSAqIHNpZ24sXG4gICAgICAgIGhvdXJzOiB0b0ludChtYXRjaFtIT1VSXSkgKiBzaWduLFxuICAgICAgICBtaW51dGVzOiB0b0ludChtYXRjaFtNSU5VVEVdKSAqIHNpZ24sXG4gICAgICAgIHNlY29uZHM6IHRvSW50KG1hdGNoW1NFQ09ORF0pICogc2lnbixcbiAgICAgICAgLy8gdGhlIG1pbGxpc2Vjb25kIGRlY2ltYWwgcG9pbnQgaXMgaW5jbHVkZWQgaW4gdGhlIG1hdGNoXG4gICAgICAgIG1pbGxpc2Vjb25kczogdG9JbnQoYWJzUm91bmQodG9JbnQobWF0Y2hbTUlMTElTRUNPTkRdKSAqIDEwMDApKSAqIHNpZ25cbiAgICAgIH07XG4gICAgfVxuXG4gICAgbWF0Y2ggPSBpc29SZWdleC5leGVjKGlucHV0KTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGNvbnN0IHNpZ24gPSAobWF0Y2hbMV0gPT09ICctJykgPyAtMSA6IChtYXRjaFsxXSA9PT0gJysnKSA/IDEgOiAxO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB5ZWFyOiBwYXJzZUlzbyhtYXRjaFsyXSwgc2lnbiksXG4gICAgICAgIG1vbnRoOiBwYXJzZUlzbyhtYXRjaFszXSwgc2lnbiksXG4gICAgICAgIHdlZWs6IHBhcnNlSXNvKG1hdGNoWzRdLCBzaWduKSxcbiAgICAgICAgZGF5OiBwYXJzZUlzbyhtYXRjaFs1XSwgc2lnbiksXG4gICAgICAgIGhvdXJzOiBwYXJzZUlzbyhtYXRjaFs2XSwgc2lnbiksXG4gICAgICAgIG1pbnV0ZXM6IHBhcnNlSXNvKG1hdGNoWzddLCBzaWduKSxcbiAgICAgICAgc2Vjb25kczogcGFyc2VJc28obWF0Y2hbOF0sIHNpZ24pXG4gICAgICB9O1xuICAgIH1cblxuICB9XG5cbiAgaWYgKGlzT2JqZWN0PHtmcm9tOiBhbnk7IHRvOiBhbnl9PihpbnB1dCkgJiYgKCdmcm9tJyBpbiBpbnB1dCB8fCAndG8nIGluIGlucHV0KSkge1xuICAgIGNvbnN0IGRpZmZSZXMgPSBtb21lbnRzRGlmZmVyZW5jZShwYXJzZURhdGUoaW5wdXQuZnJvbSksIHBhcnNlRGF0ZShpbnB1dC50bykpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1pbGxpc2Vjb25kczogZGlmZlJlcy5taWxsaXNlY29uZHMsXG4gICAgICBtb250aDogZGlmZlJlcy5tb250aHNcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGlucHV0O1xufVxuXG4vLyBjcmVhdGVEdXJhdGlvbi5mbiA9IER1cmF0aW9uLnByb3RvdHlwZTtcbi8vIGNyZWF0ZUR1cmF0aW9uLmludmFsaWQgPSBpbnZhbGlkO1xuXG5mdW5jdGlvbiBwYXJzZUlzbyhpbnA6IHN0cmluZywgc2lnbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgLy8gV2UnZCBub3JtYWxseSB1c2Ugfn5pbnAgZm9yIHRoaXMsIGJ1dCB1bmZvcnR1bmF0ZWx5IGl0IGFsc29cbiAgLy8gY29udmVydHMgZmxvYXRzIHRvIGludHMuXG4gIC8vIGlucCBtYXkgYmUgdW5kZWZpbmVkLCBzbyBjYXJlZnVsIGNhbGxpbmcgcmVwbGFjZSBvbiBpdC5cbiAgY29uc3QgcmVzID0gaW5wICYmIHBhcnNlRmxvYXQoaW5wLnJlcGxhY2UoJywnLCAnLicpKTtcbiAgLy8gYXBwbHkgc2lnbiB3aGlsZSB3ZSdyZSBhdCBpdFxuXG4gIHJldHVybiAoaXNOYU4ocmVzKSA/IDAgOiByZXMpICogc2lnbjtcbn1cblxuZnVuY3Rpb24gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShiYXNlOiBEYXRlLCBvdGhlcjogRGF0ZSk6IHsgbWlsbGlzZWNvbmRzOiBudW1iZXI7IG1vbnRoczogbnVtYmVyIH0ge1xuICBjb25zdCByZXMgPSB7IG1pbGxpc2Vjb25kczogMCwgbW9udGhzOiAwIH07XG5cbiAgcmVzLm1vbnRocyA9IGdldE1vbnRoKG90aGVyKSAtIGdldE1vbnRoKGJhc2UpICtcbiAgICAoZ2V0RnVsbFllYXIob3RoZXIpIC0gZ2V0RnVsbFllYXIoYmFzZSkpICogMTI7XG4gIGNvbnN0IF9iYXNlUGx1cyA9IGFkZChjbG9uZURhdGUoYmFzZSksIHJlcy5tb250aHMsICdtb250aCcpO1xuICBpZiAoaXNBZnRlcihfYmFzZVBsdXMsIG90aGVyKSkge1xuICAgIC0tcmVzLm1vbnRocztcbiAgfVxuXG4gIHJlcy5taWxsaXNlY29uZHMgPSArb3RoZXIgLSArKGFkZChjbG9uZURhdGUoYmFzZSksIHJlcy5tb250aHMsICdtb250aCcpKTtcblxuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBtb21lbnRzRGlmZmVyZW5jZShiYXNlOiBEYXRlLCBvdGhlcjogRGF0ZSk6IHsgbWlsbGlzZWNvbmRzOiBudW1iZXI7IG1vbnRoczogbnVtYmVyIH0ge1xuICBpZiAoIShpc0RhdGVWYWxpZChiYXNlKSAmJiBpc0RhdGVWYWxpZChvdGhlcikpKSB7XG4gICAgcmV0dXJuIHsgbWlsbGlzZWNvbmRzOiAwLCBtb250aHM6IDAgfTtcbiAgfVxuXG4gIGxldCByZXM7XG4gIGNvbnN0IF9vdGhlciA9IGNsb25lV2l0aE9mZnNldChvdGhlciwgYmFzZSwge19vZmZzZXQ6IGJhc2UuZ2V0VGltZXpvbmVPZmZzZXQoKX0pO1xuICBpZiAoaXNCZWZvcmUoYmFzZSwgX290aGVyKSkge1xuICAgIHJlcyA9IHBvc2l0aXZlTW9tZW50c0RpZmZlcmVuY2UoYmFzZSwgX290aGVyKTtcbiAgfSBlbHNlIHtcbiAgICByZXMgPSBwb3NpdGl2ZU1vbWVudHNEaWZmZXJlbmNlKF9vdGhlciwgYmFzZSk7XG4gICAgcmVzLm1pbGxpc2Vjb25kcyA9IC1yZXMubWlsbGlzZWNvbmRzO1xuICAgIHJlcy5tb250aHMgPSAtcmVzLm1vbnRocztcbiAgfVxuXG4gIHJldHVybiByZXM7XG59XG4iXX0=","import { createDuration } from '../duration/create';\nimport { absRound } from '../utils/abs-round';\nimport { getDate, getMonth, getTime } from '../utils/date-getters';\nimport { setDate, setMonth, setTime } from '../utils/date-setters';\nimport { cloneDate } from '../create/clone';\nexport function add(date, val, period, isUTC) {\n const dur = createDuration(val, period);\n return addSubtract(date, dur, 1, isUTC);\n}\nexport function subtract(date, val, period, isUTC) {\n const dur = createDuration(val, period);\n return addSubtract(date, dur, -1, isUTC);\n}\nexport function addSubtract(date, duration, isAdding, isUTC) {\n const milliseconds = duration._milliseconds;\n const days = absRound(duration._days);\n const months = absRound(duration._months);\n // todo: add timezones support\n // const _updateOffset = updateOffset == null ? true : updateOffset;\n if (months) {\n setMonth(date, getMonth(date, isUTC) + months * isAdding, isUTC);\n }\n if (days) {\n setDate(date, getDate(date, isUTC) + days * isAdding, isUTC);\n }\n if (milliseconds) {\n setTime(date, getTime(date) + milliseconds * isAdding);\n }\n return cloneDate(date);\n // todo: add timezones support\n // if (_updateOffset) {\n // hooks.updateOffset(date, days || months);\n // }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXN1YnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3MvbW9tZW50L2FkZC1zdWJ0cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc1QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVUsRUFBRSxHQUFXLEVBQUUsTUFBa0IsRUFBRSxLQUFlO0lBQzlFLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFeEMsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBVSxFQUFFLEdBQVcsRUFBRSxNQUFrQixFQUFFLEtBQWU7SUFDbkYsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV4QyxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVUsRUFBRSxRQUFrQixFQUFFLFFBQWdCLEVBQUUsS0FBZTtJQUMzRixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQzVDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUxQyw4QkFBOEI7SUFDOUIsb0VBQW9FO0lBRXBFLElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsTUFBTSxHQUFHLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLEdBQUcsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksR0FBRyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUN2Qiw4Q0FBOEM7SUFDOUMsSUFBSTtBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVEdXJhdGlvbiB9IGZyb20gJy4uL2R1cmF0aW9uL2NyZWF0ZSc7XG5pbXBvcnQgeyBhYnNSb3VuZCB9IGZyb20gJy4uL3V0aWxzL2Ficy1yb3VuZCc7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJy4uL2R1cmF0aW9uL2NvbnN0cnVjdG9yJztcbmltcG9ydCB7IGdldERhdGUsIGdldE1vbnRoLCBnZXRUaW1lIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IHNldERhdGUsIHNldE1vbnRoLCBzZXRUaW1lIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1zZXR0ZXJzJztcbmltcG9ydCB7IGNsb25lRGF0ZSB9IGZyb20gJy4uL2NyZWF0ZS9jbG9uZSc7XG5pbXBvcnQgeyBVbml0T2ZUaW1lIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkKGRhdGU6IERhdGUsIHZhbDogbnVtYmVyLCBwZXJpb2Q6IFVuaXRPZlRpbWUsIGlzVVRDPzogYm9vbGVhbik6IERhdGUge1xuICBjb25zdCBkdXIgPSBjcmVhdGVEdXJhdGlvbih2YWwsIHBlcmlvZCk7XG5cbiAgcmV0dXJuIGFkZFN1YnRyYWN0KGRhdGUsIGR1ciwgMSwgaXNVVEMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VidHJhY3QoZGF0ZTogRGF0ZSwgdmFsOiBudW1iZXIsIHBlcmlvZDogVW5pdE9mVGltZSwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGNvbnN0IGR1ciA9IGNyZWF0ZUR1cmF0aW9uKHZhbCwgcGVyaW9kKTtcblxuICByZXR1cm4gYWRkU3VidHJhY3QoZGF0ZSwgZHVyLCAtMSwgaXNVVEMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkU3VidHJhY3QoZGF0ZTogRGF0ZSwgZHVyYXRpb246IER1cmF0aW9uLCBpc0FkZGluZzogbnVtYmVyLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgY29uc3QgbWlsbGlzZWNvbmRzID0gZHVyYXRpb24uX21pbGxpc2Vjb25kcztcbiAgY29uc3QgZGF5cyA9IGFic1JvdW5kKGR1cmF0aW9uLl9kYXlzKTtcbiAgY29uc3QgbW9udGhzID0gYWJzUm91bmQoZHVyYXRpb24uX21vbnRocyk7XG5cbiAgLy8gdG9kbzogYWRkIHRpbWV6b25lcyBzdXBwb3J0XG4gIC8vIGNvbnN0IF91cGRhdGVPZmZzZXQgPSB1cGRhdGVPZmZzZXQgPT0gbnVsbCA/IHRydWUgOiB1cGRhdGVPZmZzZXQ7XG5cbiAgaWYgKG1vbnRocykge1xuICAgIHNldE1vbnRoKGRhdGUsIGdldE1vbnRoKGRhdGUsIGlzVVRDKSArIG1vbnRocyAqIGlzQWRkaW5nLCBpc1VUQyk7XG4gIH1cbiAgaWYgKGRheXMpIHtcbiAgICBzZXREYXRlKGRhdGUsIGdldERhdGUoZGF0ZSwgaXNVVEMpICsgZGF5cyAqIGlzQWRkaW5nLCBpc1VUQyk7XG4gIH1cbiAgaWYgKG1pbGxpc2Vjb25kcykge1xuICAgIHNldFRpbWUoZGF0ZSwgZ2V0VGltZShkYXRlKSArIG1pbGxpc2Vjb25kcyAqIGlzQWRkaW5nKTtcbiAgfVxuXG4gIHJldHVybiBjbG9uZURhdGUoZGF0ZSk7XG4gIC8vIHRvZG86IGFkZCB0aW1lem9uZXMgc3VwcG9ydFxuICAvLyBpZiAoX3VwZGF0ZU9mZnNldCkge1xuICAvLyAgIGhvb2tzLnVwZGF0ZU9mZnNldChkYXRlLCBkYXlzIHx8IG1vbnRocyk7XG4gIC8vIH1cbn1cbiJdfQ==","import { addFormatToken } from '../format/format';\nimport { getDay } from '../utils/date-getters';\nimport { addRegexToken, match1to2 } from '../parse/regex';\nimport { addUnitAlias } from './aliases';\nimport { addUnitPriority } from './priorities';\nimport { addWeekParseToken } from '../parse/token';\nimport { getParsingFlags } from '../create/parsing-flags';\nimport { isNumber, isString, toInt } from '../utils/type-checks';\nimport { add } from '../moment/add-subtract';\nimport { getLocale } from '../locale/locales';\nexport function initDayOfWeek() {\n // FORMATTING\n addFormatToken('d', null, 'do', function (date, opts) {\n return getDay(date, opts.isUTC)\n .toString(10);\n });\n addFormatToken('dd', null, null, function (date, opts) {\n return opts.locale.weekdaysMin(date, opts.format, opts.isUTC);\n });\n addFormatToken('ddd', null, null, function (date, opts) {\n return opts.locale.weekdaysShort(date, opts.format, opts.isUTC);\n });\n addFormatToken('dddd', null, null, function (date, opts) {\n return opts.locale.weekdays(date, opts.format, opts.isUTC);\n });\n addFormatToken('e', null, null, function (date, opts) {\n return getLocaleDayOfWeek(date, opts.locale, opts.isUTC)\n .toString(10);\n // return getDay(date, opts.isUTC).toString(10);\n });\n addFormatToken('E', null, null, function (date, opts) {\n return getISODayOfWeek(date, opts.isUTC)\n .toString(10);\n });\n // ALIASES\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n // PARSING\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 addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n const 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 }\n else {\n getParsingFlags(config).invalidWeekday = !!input;\n }\n return config;\n });\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n return config;\n });\n}\n// HELPERS\nexport function parseWeekday(input, locale) {\n if (!isString(input)) {\n return input;\n }\n const _num = parseInt(input, 10);\n if (!isNaN(_num)) {\n return _num;\n }\n const _weekDay = locale.weekdaysParse(input);\n if (isNumber(_weekDay)) {\n return _weekDay;\n }\n return null;\n}\nexport function parseIsoWeekday(input, locale = getLocale()) {\n if (isString(input)) {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNumber(input) && isNaN(input) ? null : input;\n}\n// MOMENTS\nexport function getSetDayOfWeek(date, input, opts) {\n if (!input) {\n return getDayOfWeek(date, opts.isUTC);\n }\n return setDayOfWeek(date, input, opts.locale, opts.isUTC);\n}\nexport function setDayOfWeek(date, input, locale = getLocale(), isUTC) {\n const day = getDay(date, isUTC);\n const _input = parseWeekday(input, locale);\n return add(date, _input - day, 'day');\n}\nexport function getDayOfWeek(date, isUTC) {\n return getDay(date, isUTC);\n}\n/********************************************/\n// todo: utc\n// getSetLocaleDayOfWeek\nexport function getLocaleDayOfWeek(date, locale = getLocale(), isUTC) {\n return (getDay(date, isUTC) + 7 - locale.firstDayOfWeek()) % 7;\n}\nexport function setLocaleDayOfWeek(date, input, opts = {}) {\n const weekday = getLocaleDayOfWeek(date, opts.locale, opts.isUTC);\n return add(date, input - weekday, 'day');\n}\n// getSetISODayOfWeek\nexport function getISODayOfWeek(date, isUTC) {\n return getDay(date, isUTC) || 7;\n}\nexport function setISODayOfWeek(date, input, opts = {}) {\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 const weekday = parseIsoWeekday(input, opts.locale);\n return setDayOfWeek(date, getDayOfWeek(date) % 7 ? weekday : weekday - 7);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LW9mLXdlZWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy91bml0cy9kYXktb2Ytd2Vlay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE1BQU0sVUFBVSxhQUFhO0lBQzdCLGFBQWE7SUFFWCxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQzVCLFVBQVMsSUFBVSxFQUFFLElBQTBCO1FBQzdDLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQzVCLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQ0YsQ0FBQztJQUVGLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFDN0IsVUFBUyxJQUFVLEVBQUUsSUFBMEI7UUFDN0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcs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QUFFLEtBQWU7SUFDbEYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQVUsRUFBRSxLQUFhLEVBQUUsT0FBNkMsRUFBRTtJQUMzRyxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbEUsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUdELHFCQUFxQjtBQUNyQixNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVUsRUFBRSxLQUFlO0lBQ3pELE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBVSxFQUFFLEtBQXNCLEVBQUUsT0FBNEIsRUFBRTtJQUNoRyx3Q0FBd0M7SUFDeEMsaUVBQWlFO0lBQ2pFLDBEQUEwRDtJQUUxRCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwRCxPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEZvcm1hdFRva2VuIH0gZnJvbSAnLi4vZm9ybWF0L2Zvcm1hdCc7XG5pbXBvcnQgeyBMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGdldERheSB9IGZyb20gJy4uL3V0aWxzL2RhdGUtZ2V0dGVycyc7XG5pbXBvcnQgeyBhZGRSZWdleFRva2VuLCBtYXRjaDF0bzIgfSBmcm9tICcuLi9wYXJzZS9yZWdleCc7XG5pbXBvcnQgeyBhZGRVbml0QWxpYXMgfSBmcm9tICcuL2FsaWFzZXMnO1xuaW1wb3J0IHsgYWRkVW5pdFByaW9yaXR5IH0gZnJvbSAnLi9wcmlvcml0aWVzJztcbmltcG9ydCB7IGFkZFdlZWtQYXJzZVRva2VuIH0gZnJvbSAnLi4vcGFyc2UvdG9rZW4nO1xuaW1wb3J0IHsgZ2V0UGFyc2luZ0ZsYWdzIH0gZnJvbSAnLi4vY3JlYXRlL3BhcnNpbmctZmxhZ3MnO1xuaW1wb3J0IHsgaXNOdW1iZXIsIGlzU3RyaW5nLCB0b0ludCB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IERhdGVGb3JtYXR0ZXJPcHRpb25zLCBXZWVrUGFyc2luZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi4vY3JlYXRlL3BhcnNpbmcudHlwZXMnO1xuaW1wb3J0IHsgYWRkIH0gZnJvbSAnLi4vbW9tZW50L2FkZC1zdWJ0cmFjdCc7XG5pbXBvcnQgeyBnZXRMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlcyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXREYXlPZldlZWsoKSB7XG4vLyBGT1JNQVRUSU5HXG5cbiAgYWRkRm9ybWF0VG9rZW4oJ2QnLCBudWxsLCAnZG8nLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBnZXREYXkoZGF0ZSwgb3B0cy5pc1VUQylcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkRm9ybWF0VG9rZW4oJ2RkJywgbnVsbCwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gb3B0cy5sb2NhbGUud2Vla2RheXNNaW4oZGF0ZSwgb3B0cy5mb3JtYXQsIG9wdHMuaXNVVEMpO1xuICAgIH1cbiAgKTtcblxuICBhZGRGb3JtYXRUb2tlbignZGRkJywgbnVsbCwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gb3B0cy5sb2NhbGUud2Vla2RheXNTaG9ydChkYXRlLCBvcHRzLmZvcm1hdCwgb3B0cy5pc1VUQyk7XG4gICAgfVxuICApO1xuXG4gIGFkZEZvcm1hdFRva2VuKCdkZGRkJywgbnVsbCwgbnVsbCxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gb3B0cy5sb2NhbGUud2Vla2RheXMoZGF0ZSwgb3B0cy5mb3JtYXQsIG9wdHMuaXNVVEMpO1xuICAgIH1cbiAgKTtcblxuICBhZGRGb3JtYXRUb2tlbignZScsIG51bGwsIG51bGwsXG4gICAgZnVuY3Rpb24oZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGdldExvY2FsZURheU9mV2VlayhkYXRlLCBvcHRzLmxvY2FsZSwgb3B0cy5pc1VUQylcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICAgIC8vIHJldHVybiBnZXREYXkoZGF0ZSwgb3B0cy5pc1VUQykudG9TdHJpbmcoMTApO1xuICAgIH1cbiAgKTtcbiAgYWRkRm9ybWF0VG9rZW4oJ0UnLCBudWxsLCBudWxsLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBnZXRJU09EYXlPZldlZWsoZGF0ZSwgb3B0cy5pc1VUQylcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbi8vIEFMSUFTRVNcblxuICBhZGRVbml0QWxpYXMoJ2RheScsICdkJyk7XG4gIGFkZFVuaXRBbGlhcygnd2Vla2RheScsICdlJyk7XG4gIGFkZFVuaXRBbGlhcygnaXNvV2Vla2RheScsICdFJyk7XG5cbi8vIFBSSU9SSVRZXG4gIGFkZFVuaXRQcmlvcml0eSgnZGF5JywgMTEpO1xuICBhZGRVbml0UHJpb3JpdHkoJ3dlZWtkYXknLCAxMSk7XG4gIGFkZFVuaXRQcmlvcml0eSgnaXNvV2Vla2RheScsIDExKTtcblxuLy8gUEFSU0lOR1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ2QnLCBtYXRjaDF0bzIpO1xuICBhZGRSZWdleFRva2VuKCdlJywgbWF0Y2gxdG8yKTtcbiAgYWRkUmVnZXhUb2tlbignRScsIG1hdGNoMXRvMik7XG5cbiAgYWRkUmVnZXhUb2tlbignZGQnLCBmdW5jdGlvbihpc1N0cmljdDogYm9vbGVhbiwgbG9jYWxlOiBMb2NhbGUpOiBSZWdFeHAge1xuICAgIHJldHVybiBsb2NhbGUud2Vla2RheXNNaW5SZWdleChpc1N0cmljdCk7XG4gIH0pO1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ2RkZCcsIGZ1bmN0aW9uKGlzU3RyaWN0OiBib29sZWFuLCBsb2NhbGU6IExvY2FsZSk6IFJlZ0V4cCB7XG4gICAgcmV0dXJuIGxvY2FsZS53ZWVrZGF5c1Nob3J0UmVnZXgoaXNTdHJpY3QpO1xuICB9KTtcbiAgYWRkUmVnZXhUb2tlbignZGRkZCcsIGZ1bmN0aW9uKGlzU3RyaWN0OiBib29sZWFuLCBsb2NhbGU6IExvY2FsZSk6IFJlZ0V4cCB7XG4gICAgcmV0dXJuIGxvY2FsZS53ZWVrZGF5c1JlZ2V4KGlzU3RyaWN0KTtcbiAgfSk7XG5cbiAgYWRkV2Vla1BhcnNlVG9rZW4oXG4gICAgWydkZCcsICdkZGQnLCAnZGRkZCddLFxuICAgIGZ1bmN0aW9uKGlucHV0OiBzdHJpbmcsIHdlZWs6IFdlZWtQYXJzaW5nLCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnLCB0b2tlbikge1xuICAgICAgY29uc3Qgd2Vla2RheSA9IGNvbmZpZy5fbG9jYWxlLndlZWtkYXlzUGFyc2UoaW5wdXQsIHRva2VuLCBjb25maWcuX3N0cmljdCk7XG4gICAgICAvLyBpZiB3ZSBkaWRuJ3QgZ2V0IGEgd2Vla2RheSBuYW1lLCBtYXJrIHRoZSBkYXRlIGFzIGludmFsaWRcbiAgICAgIGlmICh3ZWVrZGF5ICE9IG51bGwpIHtcbiAgICAgICAgd2Vla1tcImRcIl0gPSB3ZWVrZGF5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaW52YWxpZFdlZWtkYXkgPSAhIWlucHV0O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH1cbiAgKTtcblxuICBhZGRXZWVrUGFyc2VUb2tlbihcbiAgICBbJ2QnLCAnZScsICdFJ10sXG4gICAgZnVuY3Rpb24oaW5wdXQ6IHN0cmluZywgd2VlazogV2Vla1BhcnNpbmcsIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcsIHRva2VuOiBzdHJpbmcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gICAgICB3ZWVrW3Rva2VuXSA9IHRvSW50KGlucHV0KTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG4gICk7XG59XG5cbi8vIEhFTFBFUlNcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlV2Vla2RheShpbnB1dDogc3RyaW5nIHwgbnVtYmVyLCBsb2NhbGU6IExvY2FsZSk6IG51bWJlciB7XG4gIGlmICghaXNTdHJpbmcoaW5wdXQpKSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgY29uc3QgX251bSA9IHBhcnNlSW50KGlucHV0LCAxMCk7XG4gIGlmICghaXNOYU4oX251bSkpIHtcbiAgICByZXR1cm4gX251bTtcbiAgfVxuXG4gIGNvbnN0IF93ZWVrRGF5ID0gbG9jYWxlLndlZWtkYXlzUGFyc2UoaW5wdXQpO1xuICBpZiAoaXNOdW1iZXIoX3dlZWtEYXkpKSB7XG4gICAgcmV0dXJuIF93ZWVrRGF5O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUlzb1dlZWtkYXkoaW5wdXQ6IHN0cmluZyB8IG51bWJlciwgbG9jYWxlOiBMb2NhbGUgPSBnZXRMb2NhbGUoKSk6IG51bWJlciB7XG4gIGlmIChpc1N0cmluZyhpbnB1dCkpIHtcbiAgICByZXR1cm4gbG9jYWxlLndlZWtkYXlzUGFyc2UoaW5wdXQpICUgNyB8fCA3O1xuICB9XG5cbiAgcmV0dXJuIGlzTnVtYmVyKGlucHV0KSAmJiBpc05hTihpbnB1dCkgPyBudWxsIDogaW5wdXQ7XG59XG5cbi8vIE1PTUVOVFNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNldERheU9mV2VlayhkYXRlOiBEYXRlLCBpbnB1dDogbnVtYmVyLCBvcHRzOiB7IGlzVVRDPzogYm9vbGVhbjsgbG9jYWxlOiBMb2NhbGUgfSk6IERhdGUgfCBudW1iZXIge1xuICBpZiAoIWlucHV0KSB7XG4gICAgcmV0dXJuIGdldERheU9mV2VlayhkYXRlLCBvcHRzLmlzVVRDKTtcbiAgfVxuXG4gIHJldHVybiBzZXREYXlPZldlZWsoZGF0ZSwgaW5wdXQsIG9wdHMubG9jYWxlLCBvcHRzLmlzVVRDKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldERheU9mV2VlayhkYXRlOiBEYXRlLCBpbnB1dDogbnVtYmVyLCBsb2NhbGUgPSBnZXRMb2NhbGUoKSwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGNvbnN0IGRheSA9IGdldERheShkYXRlLCBpc1VUQyk7XG4gIGNvbnN0IF9pbnB1dCA9IHBhcnNlV2Vla2RheShpbnB1dCwgbG9jYWxlKTtcblxuICByZXR1cm4gYWRkKGRhdGUsIF9pbnB1dCAtIGRheSwgJ2RheScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF5T2ZXZWVrKGRhdGU6IERhdGUsIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB7XG4gIHJldHVybiBnZXREYXkoZGF0ZSwgaXNVVEMpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8vIHRvZG86IHV0Y1xuLy8gZ2V0U2V0TG9jYWxlRGF5T2ZXZWVrXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9jYWxlRGF5T2ZXZWVrKGRhdGU6IERhdGUsIGxvY2FsZSA9IGdldExvY2FsZSgpLCBpc1VUQz86IGJvb2xlYW4pOiBudW1iZXIge1xuICByZXR1cm4gKGdldERheShkYXRlLCBpc1VUQykgKyA3IC0gbG9jYWxlLmZpcnN0RGF5T2ZXZWVrKCkpICUgNztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldExvY2FsZURheU9mV2VlayhkYXRlOiBEYXRlLCBpbnB1dDogbnVtYmVyLCBvcHRzOiB7IGxvY2FsZT86IExvY2FsZTsgaXNVVEM/OiBib29sZWFuIH0gPSB7fSk6IERhdGUge1xuICBjb25zdCB3ZWVrZGF5ID0gZ2V0TG9jYWxlRGF5T2ZXZWVrKGRhdGUsIG9wdHMubG9jYWxlLCBvcHRzLmlzVVRDKTtcblxuICByZXR1cm4gYWRkKGRhdGUsIGlucHV0IC0gd2Vla2RheSwgJ2RheScpO1xufVxuXG5cbi8vIGdldFNldElTT0RheU9mV2Vla1xuZXhwb3J0IGZ1bmN0aW9uIGdldElTT0RheU9mV2VlayhkYXRlOiBEYXRlLCBpc1VUQz86IGJvb2xlYW4pOiBudW1iZXIge1xuICByZXR1cm4gZ2V0RGF5KGRhdGUsIGlzVVRDKSB8fCA3O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0SVNPRGF5T2ZXZWVrKGRhdGU6IERhdGUsIGlucHV0OiBudW1iZXIgfCBzdHJpbmcsIG9wdHM6IHsgbG9jYWxlPzogTG9jYWxlIH0gPSB7fSk6IERhdGUge1xuICAvLyBiZWhhdmVzIHRoZSBzYW1lIGFzIG1vbWVudCNkYXkgZXhjZXB0XG4gIC8vIGFzIGEgZ2V0dGVyLCByZXR1cm5zIDcgaW5zdGVhZCBvZiAwICgxLTcgcmFuZ2UgaW5zdGVhZCBvZiAwLTYpXG4gIC8vIGFzIGEgc2V0dGVyLCBzdW5kYXkgc2hvdWxkIGJlbG9uZyB0byB0aGUgcHJldmlvdXMgd2Vlay5cblxuICBjb25zdCB3ZWVrZGF5ID0gcGFyc2VJc29XZWVrZGF5KGlucHV0LCBvcHRzLmxvY2FsZSk7XG5cbiAgcmV0dXJuIHNldERheU9mV2VlayhkYXRlLCBnZXREYXlPZldlZWsoZGF0ZSkgJSA3ID8gd2Vla2RheSA6IHdlZWtkYXkgLSA3KTtcbn1cbiJdfQ==","//! 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\nconst symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n};\nconst numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\nconst pluralForm = function (num) {\n return num === 0 ? 0 : num === 1 ? 1 : num === 2 ? 2 : num % 100 >= 3 && num % 100 <= 10 ? 3 : num % 100 >= 11 ? 4 : 5;\n};\nconst plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n};\nconst pluralize = function (u) {\n return function (num, withoutSuffix) {\n const f = pluralForm(num);\n let str = plurals[u][pluralForm(num)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, num.toString());\n };\n};\nconst months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n];\nexport const arLocale = {\n abbr: 'ar',\n 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(input) {\n return 'م' === input;\n },\n meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n }\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(str) {\n return str.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat(str) {\n return str.replace(/\\d/g, function (match) {\n return symbolMap[match];\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 1st is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2FyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtDQUFrQztBQUNsQyx3QkFBd0I7QUFDeEIscURBQXFEO0FBQ3JELDJCQUEyQjtBQUMzQiw2Q0FBNkM7QUFJN0MsTUFBTSxTQUFTLEdBQTRCO0lBQ3pDLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0NBQ1AsQ0FBQztBQUNGLE1BQU0sU0FBUyxHQUE0QjtJQUN6QyxHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztDQUNULENBQUM7QUFDRixNQUFNLFVBQVUsR0FBRyxVQUFVLEdBQVc7SUFDdEMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxD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LENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEtBQUs7WUFDdkMsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx5Q0FBeUM7UUFDakQsR0FBRyxFQUFFLEVBQUUsQ0FBRSxnRUFBZ0U7S0FDMUU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEFyYWJpYyBbYXJdXG4vLyEgYXV0aG9yIDogQWJkZWwgU2FpZDogaHR0cHM6Ly9naXRodWIuY29tL2FiZGVsc2FpZFxuLy8hIGF1dGhvciA6IEFobWVkIEVsa2hhdGliXG4vLyEgYXV0aG9yIDogZm9yYWJpIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3JhYmlcblxuaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG5jb25zdCBzeW1ib2xNYXA6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAxOiAn2aEnLFxuICAyOiAn2aInLFxuICAzOiAn2aMnLFxuICA0OiAn2aQnLFxuICA1OiAn2aUnLFxuICA2OiAn2aYnLFxuICA3OiAn2acnLFxuICA4OiAn2agnLFxuICA5OiAn2aknLFxuICAwOiAn2aAnXG59O1xuY29uc3QgbnVtYmVyTWFwOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHtcbiAgJ9mhJzogJzEnLFxuICAn2aInOiAnMicsXG4gICfZoyc6ICczJyxcbiAgJ9mkJzogJzQnLFxuICAn2aUnOiAnNScsXG4gICfZpic6ICc2JyxcbiAgJ9mnJzogJzcnLFxuICAn2agnOiAnOCcsXG4gICfZqSc6ICc5JyxcbiAgJ9mgJzogJzAnXG59O1xuY29uc3QgcGx1cmFsRm9ybSA9IGZ1bmN0aW9uIChudW06IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBudW0gPT09IDAgPyAwIDogbnVtID09PSAxID8gMSA6IG51bSA9PT0gMiA/IDIgOiBudW0gJSAxMDAgPj0gMyAmJiBudW0gJSAxMDAgPD0gMTAgPyAzIDogbnVtICUgMTAwID49IDExID8gNCA6IDU7XG59O1xuY29uc3QgcGx1cmFsczoge1trZXk6IHN0cmluZ106IFtzdHJpbmcsIHN0cmluZywgW3N0cmluZywgc3RyaW5nXSwgc3RyaW5nLCBzdHJpbmcsIHN0cmluZ119ID0ge1xuICBzOiBbJ9ij2YLZhCDZhdmGINir2KfZhtmK2KknLCAn2KvYp9mG2YrYqSDZiNin2K3Yr9ipJywgWyfYq9in2YbZitiq2KfZhicsICfYq9in2YbZitiq2YrZhiddLCAnJWQg2KvZiNin2YYnLCAnJWQg2KvYp9mG2YrYqScsICclZCDYq9in2YbZitipJ10sXG4gIG06IFsn2KPZgtmEINmF2YYg2K/ZgtmK2YLYqScsICfYr9mC2YrZgtipINmI2KfYrdiv2KknLCBbJ9iv2YLZitmC2KrYp9mGJywgJ9iv2YLZitmC2KrZitmGJ10sICclZCDYr9mC2KfYptmCJywgJyVkINiv2YLZitmC2KknLCAnJWQg2K/ZgtmK2YLYqSddLFxuICBoOiBbJ9ij2YLZhCDZhdmGINiz2KfYudipJywgJ9iz2KfYudipINmI2KfYrdiv2KknLCBbJ9iz2KfYudiq2KfZhicsICfYs9in2LnYqtmK2YYnXSwgJyVkINiz2KfYudin2KonLCAnJWQg2LPYp9i52KknLCAnJWQg2LPYp9i52KknXSxcbiAgZDogWyfYo9mC2YQg2YXZhiDZitmI2YUnLCAn2YrZiNmFINmI2KfYrdivJywgWyfZitmI2YXYp9mGJywgJ9mK2YjZhdmK2YYnXSwgJyVkINij2YrYp9mFJywgJyVkINmK2YjZhdmL2KcnLCAnJWQg2YrZiNmFJ10sXG4gIE06IFsn2KPZgtmEINmF2YYg2LTZh9ixJywgJ9i02YfYsSDZiNin2K3YrycsIFsn2LTZh9ix2KfZhicsICfYtNmH2LHZitmGJ10sICclZCDYo9i02YfYsScsICclZCDYtNmH2LHYpycsICclZCDYtNmH2LEnXSxcbiAgeTogWyfYo9mC2YQg2YXZhiDYudin2YUnLCAn2LnYp9mFINmI2KfYrdivJywgWyfYudin2YXYp9mGJywgJ9i52KfZhdmK2YYnXSwgJyVkINij2LnZiNin2YUnLCAnJWQg2LnYp9mF2YvYpycsICclZCDYudin2YUnXVxufTtcbmNvbnN0IHBsdXJhbGl6ZSA9IGZ1bmN0aW9uICh1OiBzdHJpbmcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChudW06IG51bWJlciwgd2l0aG91dFN1ZmZpeDogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgY29uc3QgZiA9IHBsdXJhbEZvcm0obnVtKTtcbiAgICBsZXQgc3RyID0gcGx1cmFsc1t1XVtwbHVyYWxGb3JtKG51bSldO1xuICAgIGlmIChmID09PSAyKSB7XG4gICAgICBzdHIgPSBzdHJbd2l0aG91dFN1ZmZpeCA/IDAgOiAxXTtcbiAgICB9XG5cbiAgICByZXR1cm4gKHN0ciBhcyBzdHJpbmcpLnJlcGxhY2UoLyVkL2ksIG51bS50b1N0cmluZygpKTtcbiAgfTtcbn07XG5jb25zdCBtb250aHM6IHN0cmluZ1tdID0gW1xuICAn2YrZhtin2YrYsScsXG4gICfZgdio2LHYp9mK2LEnLFxuICAn2YXYp9ix2LMnLFxuICAn2KPYqNix2YrZhCcsXG4gICfZhdin2YrZiCcsXG4gICfZitmI2YbZitmIJyxcbiAgJ9mK2YjZhNmK2YgnLFxuICAn2KPYutiz2LfYsycsXG4gICfYs9io2KrZhdio2LEnLFxuICAn2KPZg9iq2YjYqNixJyxcbiAgJ9mG2YjZgdmF2KjYsScsXG4gICfYr9mK2LPZhdio2LEnXG5dO1xuXG5leHBvcnQgY29uc3QgYXJMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdhcicsXG4gIG1vbnRocyxcbiAgbW9udGhzU2hvcnQ6IG1vbnRocyxcbiAgd2Vla2RheXM6ICfYp9mE2KPYrdivX9in2YTYpdir2YbZitmGX9in2YTYq9mE2KfYq9in2KFf2KfZhNij2LHYqNi52KfYoV/Yp9mE2K7ZhdmK2LNf2KfZhNis2YXYudipX9in2YTYs9io2KonLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICfYo9it2K9f2KXYq9mG2YrZhl/Yq9mE2KfYq9in2KFf2KPYsdio2LnYp9ihX9iu2YXZitizX9is2YXYudipX9iz2KjYqicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICfYrV/Zhl/Yq1/YsV/Yrl/YrF/Ysycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNQYXJzZUV4YWN0OiB0cnVlLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnSEg6bW0nLFxuICAgIExUUzogJ0hIOm1tOnNzJyxcbiAgICBMOiAnRC9cXHUyMDBGTS9cXHUyMDBGWVlZWScsXG4gICAgTEw6ICdEIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRCBNTU1NIFlZWVkgSEg6bW0nLFxuICAgIExMTEw6ICdkZGRkIEQgTU1NTSBZWVlZIEhIOm1tJ1xuICB9LFxuICBtZXJpZGllbVBhcnNlOiAv2LV82YUvLFxuICBpc1BNKGlucHV0KSB7XG4gICAgcmV0dXJuICfZhScgPT09IGlucHV0O1xuICB9LFxuICBtZXJpZGllbShob3VyLCBtaW51dGUsIGlzTG93ZXIpIHtcbiAgICBpZiAoaG91ciA8IDEyKSB7XG4gICAgICByZXR1cm4gJ9i1JztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICfZhSc7XG4gICAgfVxuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXk6ICdb2KfZhNmK2YjZhSDYudmG2K8g2KfZhNiz2KfYudipXSBMVCcsXG4gICAgbmV4dERheTogJ1vYutiv2YvYpyDYudmG2K8g2KfZhNiz2KfYudipXSBMVCcsXG4gICAgbmV4dFdlZWs6ICdkZGRkIFvYudmG2K8g2KfZhNiz2KfYudipXSBMVCcsXG4gICAgbGFzdERheTogJ1vYo9mF2LMg2LnZhtivINin2YTYs9in2LnYqV0gTFQnLFxuICAgIGxhc3RXZWVrOiAnZGRkZCBb2LnZhtivINin2YTYs9in2LnYqV0gTFQnLFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAn2KjYudivICVzJyxcbiAgICBwYXN0OiAn2YXZhtiwICVzJyxcbiAgICBzOiBwbHVyYWxpemUoJ3MnKSxcbiAgICBzczogcGx1cmFsaXplKCdzJyksXG4gICAgbTogcGx1cmFsaXplKCdtJyksXG4gICAgbW06IHBsdXJhbGl6ZSgnbScpLFxuICAgIGg6IHBsdXJhbGl6ZSgnaCcpLFxuICAgIGhoOiBwbHVyYWxpemUoJ2gnKSxcbiAgICBkOiBwbHVyYWxpemUoJ2QnKSxcbiAgICBkZDogcGx1cmFsaXplKCdkJyksXG4gICAgTTogcGx1cmFsaXplKCdNJyksXG4gICAgTU06IHBsdXJhbGl6ZSgnTScpLFxuICAgIHk6IHBsdXJhbGl6ZSgneScpLFxuICAgIHl5OiBwbHVyYWxpemUoJ3knKVxuICB9LFxuICBwcmVwYXJzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9b2aHZotmj2aTZpdmm2afZqNmp2aBdL2csIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgICAgcmV0dXJuIG51bWJlck1hcFttYXRjaF07XG4gICAgfSkucmVwbGFjZSgv2IwvZywgJywnKTtcbiAgfSxcbiAgcG9zdGZvcm1hdChzdHI6IHN0cmluZykge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvXFxkL2csIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgICAgcmV0dXJuIHN5bWJvbE1hcFttYXRjaF07XG4gICAgfSkucmVwbGFjZSgvLC9nLCAn2IwnKTtcbiAgfSxcbiAgd2Vlazoge1xuICAgIGRvdzogNiwgLy8gU2F0dXJkYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3k6IDEyICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiAxc3QgaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Iskren Ivov Chernev : https://github.com/ichernev\n//! author : Kunal Marwaha : https://github.com/marwahaha\n//! author : Matt Grande : https://github.com/mattgrande\n//! author : Isaac Cambron : https://github.com/icambron\n//! author : Venelin Manchev : https://github.com/vmanchev\nexport const bgLocale = {\n abbr: 'bg',\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\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 (d) {\n switch (d) {\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 (_num) {\n const number = Number(_num);\n let lastDigit = number % 10, last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n }\n else if (last2Digits === 0) {\n return number + '-ен';\n }\n else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n }\n else if (lastDigit === 1) {\n return number + '-ви';\n }\n else if (lastDigit === 2) {\n return number + '-ри';\n }\n else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n }\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 1st is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2JnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGtDQUFrQztBQUNsQywyQkFBMkI7QUFDM0IsOERBQThEO0FBQzlELHlEQUF5RDtBQUN6RCx3REFBd0Q7QUFDeEQsd0RBQXdEO0FBQ3hELDBEQUEwRDtBQUUxRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsbUZBQW1GLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN0RyxXQUFXLEVBQUUsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN6RSxRQUFRLEVBQUUsd0RBQXdELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM3RSxhQUFhLEVBQUUsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxjQUFjLEVBQUU7UUFDZCxFQUFFLEVBQUUsTUFBTTtRQUNWLEdBQUcsRUFBRSxTQUFTO1FBQ2QsQ0FBQyxFQUFFLFdBQVc7UUFDZCxFQUFFLEVBQUUsYUFBYTtRQUNqQixHQUFHLEVBQUUsa0JBQWtCO1FBQ3ZCLElBQUksRUFBRSx3QkFBd0I7S0FDL0I7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsYUFBYTtRQUN0QixPQUFPLEVBQUUsYUFBYTtRQUN0QixRQUFRLEVBQUUsYUFBYTtRQUN2QixPQUFPLEVBQUUsY0FBYztRQUN2QixRQUFRLEVBQUUsVUFBVSxDQUFNO1lBRXhCLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ1YsS0FBSyxDQUFDLENBQUM7Z0JBQ1AsS0FBSyxDQUFDLENBQUM7Z0JBQ1AsS0FBSyxDQUFDO29CQUNKLE9BQU8sNEJBQTRCLENBQUM7Z0JBQ3RDLEtBQUssQ0FBQyxDQUFDO2dCQUNQLEtBQUssQ0FBQyxDQUFDO2dCQUNQLEtBQUssQ0FBQyxDQUFDO2dCQUNQLEtBQUssQ0FBQztvQkFDSixPQUFPLDJCQUEyQixDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO1FBQ0QsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLElBQUksRUFBRSxVQUFVO1FBQ2hCLENBQUMsRUFBRSxpQkFBaUI7UUFDcEIsRUFBRSxFQUFFLFlBQVk7UUFDaEIsQ0FBQyxFQUFFLFFBQVE7UUFDWCxFQUFFLEVBQUUsV0FBVztRQUNmLENBQUMsRUFBRSxLQUFLO1FBQ1IsRUFBRSxFQUFFLFNBQVM7UUFDYixDQUFDLEVBQUUsS0FBSztRQUNSLEVBQUUsRUFBRSxRQUFRO1FBQ1osQ0FBQyxFQUFFLE9BQU87UUFDVixFQUFFLEVBQUUsV0FBVztRQUNmLENBQUMsRUFBRSxRQUFRO1FBQ1gsRUFBRSxFQUFFLFdBQVc7S0FDaEI7SUFDRCxzQkFBc0IsRUFBRSw2QkFBNkI7SUFDckQsT0FBTyxFQUFFLFVBQVUsSUFBWTtRQUU3QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsSUFBSSxTQUFTLEdBQUcsTUFBTSxHQUFHLEVBQUUsRUFDekIsV0FBVyxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFN0IsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakIsT0FBTyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksV0FBVyxHQUFHLEVBQUUsSUFBSSxXQUFXLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDaEQsT0FBTyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU8sTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO2FBQU0sSUFBSSxTQUFTLEtBQUssQ0FBQyxJQUFJLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsQ0FBQyxFQUFFLHVDQUF1QztRQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFFLGdFQUFnRTtLQUN6RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBLaHJvbm9zIH0gZnJvbSAnLi4vdGVzdGluZy9jaGFpbic7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBCdWxnYXJpYW4gW2JnXVxuLy8hIGF1dGhvciA6IElza3JlbiBJdm92IENoZXJuZXYgOiBodHRwczovL2dpdGh1Yi5jb20vaWNoZXJuZXZcbi8vISBhdXRob3IgOiBLdW5hbCBNYXJ3YWhhIDogaHR0cHM6Ly9naXRodWIuY29tL21hcndhaGFoYVxuLy8hIGF1dGhvciA6IE1hdHQgR3JhbmRlIDogaHR0cHM6Ly9naXRodWIuY29tL21hdHRncmFuZGVcbi8vISBhdXRob3IgOiBJc2FhYyBDYW1icm9uIDogaHR0cHM6Ly9naXRodWIuY29tL2ljYW1icm9uXG4vLyEgYXV0aG9yIDogVmVuZWxpbiBNYW5jaGV2IDogaHR0cHM6Ly9naXRodWIuY29tL3ZtYW5jaGV2XG5cbmV4cG9ydCBjb25zdCBiZ0xvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ2JnJyxcbiAgbW9udGhzOiAn0Y/QvdGD0LDRgNC4X9GE0LXQstGA0YPQsNGA0Lhf0LzQsNGA0YJf0LDQv9GA0LjQu1/QvNCw0Llf0Y7QvdC4X9GO0LvQuF/QsNCy0LPRg9GB0YJf0YHQtdC/0YLQtdC80LLRgNC4X9C+0LrRgtC+0LzQstGA0Lhf0L3QvtC10LzQstGA0Lhf0LTQtdC60LXQvNCy0YDQuCcuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICfRj9C90YBf0YTQtdCyX9C80LDRgF/QsNC/0YBf0LzQsNC5X9GO0L3QuF/RjtC70Lhf0LDQstCzX9GB0LXQv1/QvtC60YJf0L3QvtC1X9C00LXQuicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXM6ICfQvdC10LTQtdC70Y9f0L/QvtC90LXQtNC10LvQvdC40Lpf0LLRgtC+0YDQvdC40Lpf0YHRgNGP0LTQsF/Rh9C10YLQstGK0YDRgtGK0Lpf0L/QtdGC0YrQul/RgdGK0LHQvtGC0LAnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICfQvdC10LRf0L/QvtC9X9Cy0YLQvl/RgdGA0Y9f0YfQtdGCX9C/0LXRgl/RgdGK0LEnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAn0L3QtF/Qv9C9X9Cy0YJf0YHRgF/Rh9GCX9C/0YJf0YHQsScuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0g6bW0nLFxuICAgIExUUzogJ0g6bW06c3MnLFxuICAgIEw6ICdELk1NLllZWVknLFxuICAgIExMOiAnRCBNTU1NIFlZWVknLFxuICAgIExMTDogJ0QgTU1NTSBZWVlZIEg6bW0nLFxuICAgIExMTEw6ICdkZGRkLCBEIE1NTU0gWVlZWSBIOm1tJ1xuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXk6ICdb0JTQvdC10YEg0LJdIExUJyxcbiAgICBuZXh0RGF5OiAnW9Cj0YLRgNC1INCyXSBMVCcsXG4gICAgbmV4dFdlZWs6ICdkZGRkIFvQsl0gTFQnLFxuICAgIGxhc3REYXk6ICdb0JLRh9C10YDQsCDQsl0gTFQnLFxuICAgIGxhc3RXZWVrOiBmdW5jdGlvbiAoZDogYW55KSB7XG5cbiAgICAgIHN3aXRjaCAoZCkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgY2FzZSA2OlxuICAgICAgICAgIHJldHVybiAnW9CSINC40LfQvNC40L3QsNC70LDRgtCwXSBkZGRkIFvQsl0gTFQnO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgcmV0dXJuICdb0JIg0LjQt9C80LjQvdCw0LvQuNGPXSBkZGRkIFvQsl0gTFQnO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICfRgdC70LXQtCAlcycsXG4gICAgcGFzdDogJ9C/0YDQtdC00LggJXMnLFxuICAgIHM6ICfQvdGP0LrQvtC70LrQviDRgdC10LrRg9C90LTQuCcsXG4gICAgc3M6ICclZCDRgdC10LrRg9C90LTQuCcsXG4gICAgbTogJ9C80LjQvdGD0YLQsCcsXG4gICAgbW06ICclZCDQvNC40L3Rg9GC0LgnLFxuICAgIGg6ICfRh9Cw0YEnLFxuICAgIGhoOiAnJWQg0YfQsNGB0LAnLFxuICAgIGQ6ICfQtNC10L0nLFxuICAgIGRkOiAnJWQg0LTQvdC4JyxcbiAgICBNOiAn0LzQtdGB0LXRhicsXG4gICAgTU06ICclZCDQvNC10YHQtdGG0LAnLFxuICAgIHk6ICfQs9C+0LTQuNC90LAnLFxuICAgIHl5OiAnJWQg0LPQvtC00LjQvdC4J1xuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn0tKNC10LJ80LXQvXzRgtC4fNCy0Lh80YDQuHzQvNC4KS8sXG4gIG9yZGluYWw6IGZ1bmN0aW9uIChfbnVtOiBudW1iZXIpOiBzdHJpbmcge1xuXG4gICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKF9udW0pO1xuXG4gICAgbGV0IGxhc3REaWdpdCA9IG51bWJlciAlIDEwLFxuICAgICAgbGFzdDJEaWdpdHMgPSBudW1iZXIgJSAxMDA7XG5cbiAgICBpZiAobnVtYmVyID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVtYmVyICsgJy3QtdCyJztcbiAgICB9IGVsc2UgaWYgKGxhc3QyRGlnaXRzID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVtYmVyICsgJy3QtdC9JztcbiAgICB9IGVsc2UgaWYgKGxhc3QyRGlnaXRzID4gMTAgJiYgbGFzdDJEaWdpdHMgPCAyMCkge1xuICAgICAgcmV0dXJuIG51bWJlciArICct0YLQuCc7XG4gICAgfSBlbHNlIGlmIChsYXN0RGlnaXQgPT09IDEpIHtcbiAgICAgIHJldHVybiBudW1iZXIgKyAnLdCy0LgnO1xuICAgIH0gZWxzZSBpZiAobGFzdERpZ2l0ID09PSAyKSB7XG4gICAgICByZXR1cm4gbnVtYmVyICsgJy3RgNC4JztcbiAgICB9IGVsc2UgaWYgKGxhc3REaWdpdCA9PT0gNyB8fCBsYXN0RGlnaXQgPT09IDgpIHtcbiAgICAgIHJldHVybiBudW1iZXIgKyAnLdC80LgnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVtYmVyICsgJy3RgtC4JztcbiAgICB9XG4gIH0sXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNyAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gMXN0IGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","import { getHours, getMonth } from '../utils/date-getters';\n//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Xavier Arbat : https://github.com/XavisaurusRex\nlet monthsShortDot = 'gen._feb._mar._abr._mai._jun._jul._ago._set._oct._nov._des.'.split('_'), monthsShort = 'ene_feb_mar_abr_mai_jun_jul_ago_set_oct_nov_des'.split('_');\nlet monthsParse = [/^gen/i, /^feb/i, /^mar/i, /^abr/i, /^mai/i, /^jun/i, /^jul/i, /^ago/i, /^set/i, /^oct/i, /^nov/i, /^des/i];\nlet monthsRegex = /^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre|gen\\.?|feb\\.?|mar\\.?|abr\\.?|mai\\.?|jun\\.?|jul\\.?|ago\\.?|set\\.?|oct\\.?|nov\\.?|des\\.?)/i;\nexport const caLocale = {\n abbr: 'ca',\n months: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n monthsShort(date, format, isUTC) {\n if (!date) {\n return monthsShortDot;\n }\n if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n return monthsShortDot[getMonth(date, isUTC)];\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre)/i,\n monthsShortStrictRegex: /^(gen\\.?|feb\\.?|mar\\.?|abr\\.?|mai\\.?|jun\\.?|jul\\.?|ago\\.?|set\\.?|oct\\.?|nov\\.?|des\\.?)/i,\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort: 'diu._dil._dim._dix._dij._div._dis.'.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 [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(date) {\n return '[avui a ' + ('la' + (getHours(date) !== 1) ? 'les' : '') + '] LT';\n },\n nextDay(date) {\n return '[dema a ' + ('la' + (getHours(date) !== 1) ? 'les' : '') + '] LT';\n },\n nextWeek(date) {\n return 'dddd [a ' + ('la' + (getHours(date) !== 1) ? 'les' : '') + '] LT';\n },\n lastDay(date) {\n return '[ahir a ' + ('la' + (getHours(date) !== 1) ? 'les' : '') + '] LT';\n },\n lastWeek(date) {\n return '[el] dddd [' + ('passada la ' + (getHours(date) !== 1) ? 'passades les' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %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}(er|on|er|rt|é)/,\n ordinal(_num) {\n const num = Number(_num);\n const output = (num > 4) ? 'é' :\n (num === 1 || num === 3) ? 'r' :\n (num === 2) ? 'n' :\n (num === 4) ? 't' : 'é';\n return num + 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2NhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Qsa0NBQWtDO0FBQ2xDLHlCQUF5QjtBQUN6Qiw0REFBNEQ7QUFFNUQsSUFBSSxjQUFjLEdBQUcsNkRBQTZELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUMzRixXQUFXLEdBQUcsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRTdFLElBQUksV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvSCxJQUFJLFdBQVcsR0FBRywyS0FBMkssQ0FBQztBQUU5TCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsbUZBQW1GLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN0RyxXQUFXLENBQUMsSUFBVSxFQUFFLE1BQWMsRUFBRSxLQUFlO1FBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0Qs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LEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNqQixDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDaEMsT0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsQ0FBQyxFQUFFLHVDQUF1QztRQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFFLGdFQUFnRTtLQUN6RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBnZXRIb3VycywgZ2V0TW9udGggfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogQ2F0YWxhbiBbY2FdXG4vLyEgYXV0aG9yIDogWGF2aWVyIEFyYmF0IDogaHR0cHM6Ly9naXRodWIuY29tL1hhdmlzYXVydXNSZXhcblxubGV0IG1vbnRoc1Nob3J0RG90ID0gJ2dlbi5fZmViLl9tYXIuX2Fici5fbWFpLl9qdW4uX2p1bC5fYWdvLl9zZXQuX29jdC5fbm92Ll9kZXMuJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydCA9ICdlbmVfZmViX21hcl9hYnJfbWFpX2p1bl9qdWxfYWdvX3NldF9vY3Rfbm92X2Rlcycuc3BsaXQoJ18nKTtcblxubGV0IG1vbnRoc1BhcnNlID0gWy9eZ2VuL2ksIC9eZmViL2ksIC9ebWFyL2ksIC9eYWJyL2ksIC9ebWFpL2ksIC9eanVuL2ksIC9eanVsL2ksIC9eYWdvL2ksIC9ec2V0L2ksIC9eb2N0L2ksIC9ebm92L2ksIC9eZGVzL2ldO1xubGV0IG1vbnRoc1JlZ2V4ID0gL14oZ2VuZXJ8ZmVicmVyfG1hcsOnfGFicmlsfG1haWd8anVueXxqdWxpb2x8YWdvc3R8c2V0ZW1icmV8b2N0dWJyZXxub3ZlbWJyZXxkZXNlbWJyZXxnZW5cXC4/fGZlYlxcLj98bWFyXFwuP3xhYnJcXC4/fG1haVxcLj98anVuXFwuP3xqdWxcXC4/fGFnb1xcLj98c2V0XFwuP3xvY3RcXC4/fG5vdlxcLj98ZGVzXFwuPykvaTtcblxuZXhwb3J0IGNvbnN0IGNhTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnY2EnLFxuICBtb250aHM6ICdnZW5lcl9mZWJyZXJfbWFyw6dfYWJyaWxfbWFpZ19qdW55X2p1bGlvbF9hZ29zdF9zZXRlbWJyZV9vY3R1YnJlX25vdmVtYnJlX2Rlc2VtYnJlJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydChkYXRlOiBEYXRlLCBmb3JtYXQ6IHN0cmluZywgaXNVVEM/OiBib29sZWFuKTogc3RyaW5nIHwgc3RyaW5nW10ge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIG1vbnRoc1Nob3J0RG90O1xuICAgIH1cblxuICAgIGlmICgvLU1NTS0vLnRlc3QoZm9ybWF0KSkge1xuICAgICAgcmV0dXJuIG1vbnRoc1Nob3J0W2dldE1vbnRoKGRhdGUsIGlzVVRDKV07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vbnRoc1Nob3J0RG90W2dldE1vbnRoKGRhdGUsIGlzVVRDKV07XG4gIH0sXG4gIG1vbnRoc1JlZ2V4LFxuICBtb250aHNTaG9ydFJlZ2V4OiBtb250aHNSZWdleCxcbiAgbW9udGhzU3RyaWN0UmVnZXg6IC9eKGdlbmVyfGZlYnJlcnxtYXLDp3xhYnJpbHxtYWlnfGp1bnl8anVsaW9sfGFnb3N0fHNldGVtYnJlfG9jdHVicmV8bm92ZW1icmV8ZGVzZW1icmUpL2ksXG4gIG1vbnRoc1Nob3J0U3RyaWN0UmVnZXg6IC9eKGdlblxcLj98ZmViXFwuP3xtYXJcXC4/fGFiclxcLj98bWFpXFwuP3xqdW5cXC4/fGp1bFxcLj98YWdvXFwuP3xzZXRcXC4/fG9jdFxcLj98bm92XFwuP3xkZXNcXC4/KS9pLFxuICBtb250aHNQYXJzZSxcbiAgbG9uZ01vbnRoc1BhcnNlOiBtb250aHNQYXJzZSxcbiAgc2hvcnRNb250aHNQYXJzZTogbW9udGhzUGFyc2UsXG4gIHdlZWtkYXlzOiAnZGl1bWVuZ2VfZGlsbHVuc19kaW1hcnRzX2RpbWVjcmVzX2Rpam91c19kaXZlbmRyZXNfZGlzc2FidGUnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICdkaXUuX2RpbC5fZGltLl9kaXguX2Rpai5fZGl2Ll9kaXMuJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ2RnX2RsX2R0X2RjX2RqX2R2X2RzJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1BhcnNlRXhhY3Q6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdIOm1tJyxcbiAgICBMVFM6ICdIOm1tOnNzJyxcbiAgICBMOiAnREQvTU0vWVlZWScsXG4gICAgTEw6ICdEIFtkZV0gTU1NTSBbZGVdIFlZWVknLFxuICAgIExMTDogJ0QgW2RlXSBNTU1NIFtkZV0gWVlZWSBIOm1tJyxcbiAgICBMTExMOiAnZGRkZCwgRCBbZGVdIE1NTU0gW2RlXSBZWVlZIEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheShkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ1thdnVpIGEgJyArICgnbGEnICsgKGdldEhvdXJzKGRhdGUpICE9PSAxKSA/ICdsZXMnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbmV4dERheShkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ1tkZW1hIGEgJyArICgnbGEnICsgKGdldEhvdXJzKGRhdGUpICE9PSAxKSA/ICdsZXMnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbmV4dFdlZWsoZGF0ZTogRGF0ZSkge1xuICAgICAgcmV0dXJuICdkZGRkIFthICcgKyAoJ2xhJyArIChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAnbGVzJyA6ICcnKSArICddIExUJztcbiAgICB9LFxuICAgIGxhc3REYXkoZGF0ZTogRGF0ZSkge1xuICAgICAgcmV0dXJuICdbYWhpciBhICcgKyAoJ2xhJyArIChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAnbGVzJyA6ICcnKSArICddIExUJztcbiAgICB9LFxuICAgIGxhc3RXZWVrKGRhdGU6IERhdGUpIHtcbiAgICAgIHJldHVybiAnW2VsXSBkZGRkIFsnICsgKCdwYXNzYWRhIGxhICcgKyAoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3Bhc3NhZGVzIGxlcycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ2VuICVzJyxcbiAgICBwYXN0OiAnZmEgJXMnLFxuICAgIHM6ICd1bnMgc2Vnb25zJyxcbiAgICBzczogJyVkIHNlZ29ucycsXG4gICAgbTogJ3VuIG1pbnV0JyxcbiAgICBtbTogJyVkIG1pbnV0cycsXG4gICAgaDogJ3VuYSBob3JhJyxcbiAgICBoaDogJyVkIGhvcmVzJyxcbiAgICBkOiAndW4gZGlhJyxcbiAgICBkZDogJyVkIGRpZXMnLFxuICAgIE06ICd1biBtZXMnLFxuICAgIE1NOiAnJWQgbWVzb3MnLFxuICAgIHk6ICd1biBhbnknLFxuICAgIHl5OiAnJWQgYW55cydcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9KGVyfG9ufGVyfHJ0fMOpKS8sXG4gIG9yZGluYWwoX251bTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW0gPSBOdW1iZXIoX251bSk7XG4gICAgY29uc3Qgb3V0cHV0ID0gKG51bSA+IDQpID8gJ8OpJyA6XG4gICAgICAgIChudW0gPT09IDEgfHwgbnVtID09PSAzKSA/ICdyJyA6XG4gICAgICAgICAgKG51bSA9PT0gMikgPyAnbicgOlxuICAgICAgICAgICAgKG51bSA9PT0gNCkgPyAndCcgOiAnw6knO1xuICAgIHJldHVybiBudW0gKyBvdXRwdXQ7XG4gIH0sXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNCAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNHRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","import { getDayOfWeek } from '../units/day-of-week';\n//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\nconst months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_');\nconst monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\nfunction plural(num) {\n return (num > 1) && (num < 5) && (~~(num / 10) !== 1);\n}\nfunction translate(num, withoutSuffix, key, isFuture) {\n const result = num + ' ';\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(num) ? 'sekundy' : 'sekund');\n }\n else {\n return result + 'sekundami';\n }\n // break;\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(num) ? 'minuty' : 'minut');\n }\n else {\n return result + 'minutami';\n }\n // break;\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(num) ? 'hodiny' : 'hodin');\n }\n else {\n return result + 'hodinami';\n }\n // break;\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(num) ? 'dny' : 'dní');\n }\n else {\n return result + 'dny';\n }\n // break;\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(num) ? 'měsíce' : 'měsíců');\n }\n else {\n return result + 'měsíci';\n }\n // break;\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(num) ? 'roky' : 'let');\n }\n else {\n return result + 'lety';\n }\n // break;\n }\n}\nexport const csLocale = {\n abbr: 'cs',\n months,\n monthsShort,\n monthsParse: (function (months, monthsShort) {\n let i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse: (function (monthsShort) {\n let i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse: (function (months) {\n let i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\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(date) {\n switch (getDayOfWeek(date)) {\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(date) {\n switch (getDayOfWeek(date)) {\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2NzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxrQ0FBa0M7QUFDbEMsdUJBQXVCO0FBQ3ZCLG1EQUFtRDtBQUVuRCxNQUFNLE1BQU0sR0FBYSxtRkFBbUYsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEgsTUFBTSxXQUFXLEdBQWEsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRTNGLFNBQVMsTUFBTSxDQUFDLEdBQVc7SUFDekIsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsR0FBVyxFQUFFLGFBQXNCLEVBQUUsR0FBVyxFQUFFLFFBQWlCO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFFekIsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssR0FBRyxFQUFHLHVEQUF1RDtZQUNoRSxPQUFPLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUN0RSxLQUFLLElBQUksRUFBRSwyQ0FBMkM7WUFDcEQsSUFBSSxhQUFhLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7aUJBQU0sQ0FBQztn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Li9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGdldERheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEN6ZWNoIFtjc11cbi8vISBhdXRob3IgOiBwZXRyYmVsYSA6IGh0dHBzOi8vZ2l0aHViLmNvbS9wZXRyYmVsYVxuXG5jb25zdCBtb250aHM6IHN0cmluZ1tdID0gJ2xlZGVuX8O6bm9yX2LFmWV6ZW5fZHViZW5fa3bEm3Rlbl/EjWVydmVuX8SNZXJ2ZW5lY19zcnBlbl96w6HFmcOtX8WZw61qZW5fbGlzdG9wYWRfcHJvc2luZWMnLnNwbGl0KCdfJyk7XG5jb25zdCBtb250aHNTaG9ydDogc3RyaW5nW10gPSAnbGVkX8O6bm9fYsWZZV9kdWJfa3bEm1/EjXZuX8SNdmNfc3JwX3rDocWZX8WZw61qX2xpc19wcm8nLnNwbGl0KCdfJyk7XG5cbmZ1bmN0aW9uIHBsdXJhbChudW06IG51bWJlcik6IGJvb2xlYW4ge1xuICByZXR1cm4gKG51bSA+IDEpICYmIChudW0gPCA1KSAmJiAofn4obnVtIC8gMTApICE9PSAxKTtcbn1cblxuZnVuY3Rpb24gdHJhbnNsYXRlKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBrZXk6IHN0cmluZywgaXNGdXR1cmU6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBjb25zdCByZXN1bHQgPSBudW0gKyAnICc7XG5cbiAgc3dpdGNoIChrZXkpIHtcbiAgICBjYXNlICdzJzogIC8vIGEgZmV3IHNlY29uZHMgLyBpbiBhIGZldyBzZWNvbmRzIC8gYSBmZXcgc2Vjb25kcyBhZ29cbiAgICAgIHJldHVybiAod2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSkgPyAncMOhciBzZWt1bmQnIDogJ3DDoXIgc2VrdW5kYW1pJztcbiAgICBjYXNlICdzcyc6IC8vIDkgc2Vjb25kcyAvIGluIDkgc2Vjb25kcyAvIDkgc2Vjb25kcyBhZ29cbiAgICAgIGlmICh3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAocGx1cmFsKG51bSkgPyAnc2VrdW5keScgOiAnc2VrdW5kJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgJ3Nla3VuZGFtaSc7XG4gICAgICB9XG4gICAgLy8gYnJlYWs7XG4gICAgY2FzZSAnbSc6ICAvLyBhIG1pbnV0ZSAvIGluIGEgbWludXRlIC8gYSBtaW51dGUgYWdvXG4gICAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCA/ICdtaW51dGEnIDogKGlzRnV0dXJlID8gJ21pbnV0dScgOiAnbWludXRvdScpO1xuICAgIGNhc2UgJ21tJzogLy8gOSBtaW51dGVzIC8gaW4gOSBtaW51dGVzIC8gOSBtaW51dGVzIGFnb1xuICAgICAgaWYgKHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCArIChwbHVyYWwobnVtKSA/ICdtaW51dHknIDogJ21pbnV0Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgJ21pbnV0YW1pJztcbiAgICAgIH1cbiAgICAvLyBicmVhaztcbiAgICBjYXNlICdoJzogIC8vIGFuIGhvdXIgLyBpbiBhbiBob3VyIC8gYW4gaG91ciBhZ29cbiAgICAgIHJldHVybiB3aXRob3V0U3VmZml4ID8gJ2hvZGluYScgOiAoaXNGdXR1cmUgPyAnaG9kaW51JyA6ICdob2Rpbm91Jyk7XG4gICAgY2FzZSAnaGgnOiAvLyA5IGhvdXJzIC8gaW4gOSBob3VycyAvIDkgaG91cnMgYWdvXG4gICAgICBpZiAod2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgKHBsdXJhbChudW0pID8gJ2hvZGlueScgOiAnaG9kaW4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAnaG9kaW5hbWknO1xuICAgICAgfVxuICAgIC8vIGJyZWFrO1xuICAgIGNhc2UgJ2QnOiAgLy8gYSBkYXkgLyBpbiBhIGRheSAvIGEgZGF5IGFnb1xuICAgICAgcmV0dXJuICh3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlKSA/ICdkZW4nIDogJ2RuZW0nO1xuICAgIGNhc2UgJ2RkJzogLy8gOSBkYXlzIC8gaW4gOSBkYXlzIC8gOSBkYXlzIGFnb1xuICAgICAgaWYgKHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCArIChwbHVyYWwobnVtKSA/ICdkbnknIDogJ2Ruw60nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAnZG55JztcbiAgICAgIH1cbiAgICAvLyBicmVhaztcbiAgICBjYXNlICdNJzogIC8vIGEgbW9udGggLyBpbiBhIG1vbnRoIC8gYSBtb250aCBhZ29cbiAgICAgIHJldHVybiAod2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSkgPyAnbcSbc8OtYycgOiAnbcSbc8OtY2VtJztcbiAgICBjYXNlICdNTSc6IC8vIDkgbW9udGhzIC8gaW4gOSBtb250aHMgLyA5IG1vbnRocyBhZ29cbiAgICAgIGlmICh3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAocGx1cmFsKG51bSkgPyAnbcSbc8OtY2UnIDogJ23Em3PDrWPFrycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCArICdtxJtzw61jaSc7XG4gICAgICB9XG4gICAgLy8gYnJlYWs7XG4gICAgY2FzZSAneSc6ICAvLyBhIHllYXIgLyBpbiBhIHllYXIgLyBhIHllYXIgYWdvXG4gICAgICByZXR1cm4gKHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUpID8gJ3JvaycgOiAncm9rZW0nO1xuICAgIGNhc2UgJ3l5JzogLy8gOSB5ZWFycyAvIGluIDkgeWVhcnMgLyA5IHllYXJzIGFnb1xuICAgICAgaWYgKHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCArIChwbHVyYWwobnVtKSA/ICdyb2t5JyA6ICdsZXQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAnbGV0eSc7XG4gICAgICB9XG4gICAgLy8gYnJlYWs7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGNzTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnY3MnLFxuICBtb250aHMsXG4gIG1vbnRoc1Nob3J0LFxuICBtb250aHNQYXJzZTogKGZ1bmN0aW9uIChtb250aHMsIG1vbnRoc1Nob3J0KSB7XG4gICAgbGV0IGksIF9tb250aHNQYXJzZSA9IFtdO1xuICAgIGZvciAoaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICAvLyB1c2UgY3VzdG9tIHBhcnNlciB0byBzb2x2ZSBwcm9ibGVtIHdpdGggSnVseSAoxI1lcnZlbmVjKVxuICAgICAgX21vbnRoc1BhcnNlW2ldID0gbmV3IFJlZ0V4cCgnXicgKyBtb250aHNbaV0gKyAnJHxeJyArIG1vbnRoc1Nob3J0W2ldICsgJyQnLCAnaScpO1xuICAgIH1cbiAgICByZXR1cm4gX21vbnRoc1BhcnNlO1xuICB9KG1vbnRocywgbW9udGhzU2hvcnQpKSxcbiAgc2hvcnRNb250aHNQYXJzZTogKGZ1bmN0aW9uIChtb250aHNTaG9ydCkge1xuICAgIGxldCBpLCBfc2hvcnRNb250aHNQYXJzZSA9IFtdO1xuICAgIGZvciAoaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICBfc2hvcnRNb250aHNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoJ14nICsgbW9udGhzU2hvcnRbaV0gKyAnJCcsICdpJyk7XG4gICAgfVxuICAgIHJldHVybiBfc2hvcnRNb250aHNQYXJzZTtcbiAgfShtb250aHNTaG9ydCkpLFxuICBsb25nTW9udGhzUGFyc2U6IChmdW5jdGlvbiAobW9udGhzKSB7XG4gICAgbGV0IGksIF9sb25nTW9udGhzUGFyc2UgPSBbXTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgMTI7IGkrKykge1xuICAgICAgX2xvbmdNb250aHNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoJ14nICsgbW9udGhzW2ldICsgJyQnLCAnaScpO1xuICAgIH1cbiAgICByZXR1cm4gX2xvbmdNb250aHNQYXJzZTtcbiAgfShtb250aHMpKSxcbiAgd2Vla2RheXM6ICduZWTEm2xlX3BvbmTEm2zDrV/DunRlcsO9X3N0xZllZGFfxI10dnJ0ZWtfcMOhdGVrX3NvYm90YScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ25lX3BvX8O6dF9zdF/EjXRfcMOhX3NvJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ25lX3BvX8O6dF9zdF/EjXRfcMOhX3NvJy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnSDptbScsXG4gICAgTFRTOiAnSDptbTpzcycsXG4gICAgTDogJ0RELk1NLllZWVknLFxuICAgIExMOiAnRC4gTU1NTSBZWVlZJyxcbiAgICBMTEw6ICdELiBNTU1NIFlZWVkgSDptbScsXG4gICAgTExMTDogJ2RkZGQgRC4gTU1NTSBZWVlZIEg6bW0nLFxuICAgIGw6ICdELiBNLiBZWVlZJ1xuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXk6ICdbZG5lcyB2XSBMVCcsXG4gICAgbmV4dERheTogJ1t6w610cmEgdl0gTFQnLFxuICAgIG5leHRXZWVrKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgc3dpdGNoIChnZXREYXlPZldlZWsoZGF0ZSkpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIHJldHVybiAnW3YgbmVkxJtsaSB2XSBMVCc7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHJldHVybiAnW3ZdIGRkZGQgW3ZdIExUJztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIHJldHVybiAnW3ZlIHN0xZllZHUgdl0gTFQnO1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgcmV0dXJuICdbdmUgxI10dnJ0ZWsgdl0gTFQnO1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgcmV0dXJuICdbdiBww6F0ZWsgdl0gTFQnO1xuICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgcmV0dXJuICdbdiBzb2JvdHUgdl0gTFQnO1xuICAgICAgfVxuICAgIH0sXG4gICAgbGFzdERheTogJ1t2xI1lcmEgdl0gTFQnLFxuICAgIGxhc3RXZWVrKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgc3dpdGNoIChnZXREYXlPZldlZWsoZGF0ZSkpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIHJldHVybiAnW21pbnVsb3UgbmVkxJtsaSB2XSBMVCc7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHJldHVybiAnW21pbnVsw6ldIGRkZGQgW3ZdIExUJztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIHJldHVybiAnW21pbnVsb3Ugc3TFmWVkdSB2XSBMVCc7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIHJldHVybiAnW21pbnVsw71dIGRkZGQgW3ZdIExUJztcbiAgICAgICAgY2FzZSA2OlxuICAgICAgICAgIHJldHVybiAnW21pbnVsb3Ugc29ib3R1IHZdIExUJztcbiAgICAgIH1cbiAgICB9LFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAnemEgJXMnLFxuICAgIHBhc3Q6ICdwxZllZCAlcycsXG4gICAgczogdHJhbnNsYXRlLFxuICAgIHNzOiB0cmFuc2xhdGUsXG4gICAgbTogdHJhbnNsYXRlLFxuICAgIG1tOiB0cmFuc2xhdGUsXG4gICAgaDogdHJhbnNsYXRlLFxuICAgIGhoOiB0cmFuc2xhdGUsXG4gICAgZDogdHJhbnNsYXRlLFxuICAgIGRkOiB0cmFuc2xhdGUsXG4gICAgTTogdHJhbnNsYXRlLFxuICAgIE1NOiB0cmFuc2xhdGUsXG4gICAgeTogdHJhbnNsYXRlLFxuICAgIHl5OiB0cmFuc2xhdGVcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9XFwuLyxcbiAgb3JkaW5hbDogJyVkLicsXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNCAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNHRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuXG4iXX0=","//! moment.js locale configuration\n//! locale : Danish (Denmark) [da]\n//! author : Per Hansen : https://github.com/perhp\nexport const daLocale = {\n abbr: 'da',\n months: 'Januar_Februar_Marts_April_Maj_Juni_Juli_August_September_Oktober_November_December'.split('_'),\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 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2RhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyxrQ0FBa0M7QUFDbEMsa0RBQWtEO0FBRWxELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRyxxRkFBcUYsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3pHLFdBQVcsRUFBRyxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFFLFFBQVEsRUFBRyxvREFBb0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFFLGFBQWEsRUFBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hELFdBQVcsRUFBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9DLGNBQWMsRUFBRztRQUNiLEVBQUUsRUFBRyxPQUFPO1FBQ1osR0FBRyxFQUFHLFVBQVU7UUFDaEIsQ0FBQyxFQUFHLFlBQVk7UUFDaEIsRUFBRSxFQUFHLGNBQWM7UUFDbkIsR0FBRyxFQUFHLG9CQUFvQjtRQUMxQixJQUFJLEVBQUcsb0NBQW9DO0tBQzlDO0lBQ0QsUUFBUSxFQUFHO1FBQ1AsT0FBTyxFQUFHLGdCQUFnQjtRQUMxQixPQUFPLEVBQUcsbUJBQW1CO1FBQzdCLFFBQVEsRUFBRyxrQkFBa0I7UUFDN0IsT0FBTyxFQUFHLGdCQUFnQjtRQUMxQixRQUFRLEVBQUcsb0JBQW9CO1FBQy9CLFFBQVEsRUFBRyxHQUFHO0tBQ2pCO0lBQ0QsWUFBWSxFQUFHO1FBQ1gsTUFBTSxFQUFHLE9BQU87UUFDaEIsSUFBSSxFQUFHLFVBQVU7UUFDakIsQ0FBQyxFQUFHLGFBQWE7UUFDakIsQ0FBQyxFQUFHLFVBQVU7UUFDZCxFQUFFLEVBQUcsYUFBYTtRQUNsQixDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxVQUFVO1FBQ2YsQ0FBQyxFQUFHLFFBQVE7UUFDWixFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxVQUFVO1FBQ2QsRUFBRSxFQUFHLFlBQVk7UUFDakIsQ0FBQyxFQUFHLE9BQU87UUFDWCxFQUFFLEVBQUcsT0FBTztLQUNmO0lBQ0Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyxPQUFPLEVBQUcsS0FBSztJQUNmLElBQUksRUFBRztRQUNILEdBQUcsRUFBRyxDQUFDLEVBQUUsdUNBQXVDO1FBQ2hELEdBQUcsRUFBRyxDQUFDLENBQUUsZ0VBQWdFO0tBQzVFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IERhbmlzaCAoRGVubWFyaykgW2RhXVxuLy8hIGF1dGhvciA6IFBlciBIYW5zZW4gOiBodHRwczovL2dpdGh1Yi5jb20vcGVyaHBcblxuZXhwb3J0IGNvbnN0IGRhTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnZGEnLFxuICBtb250aHMgOiAnSmFudWFyX0ZlYnJ1YXJfTWFydHNfQXByaWxfTWFqX0p1bmlfSnVsaV9BdWd1c3RfU2VwdGVtYmVyX09rdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXInLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0IDogJ0phbl9GZWJfTWFyX0Fwcl9NYWpfSnVuX0p1bF9BdWdfU2VwX09rdF9Ob3ZfRGVjJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5cyA6ICdTw7huZGFnX01hbmRhZ19UaXJzZGFnX09uc2RhZ19Ub3JzZGFnX0ZyZWRhZ19Mw7hyZGFnJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0IDogJ1PDuG5fTWFuX1Rpcl9PbnNfVG9yX0ZyZV9Mw7hyJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbiA6ICdTw7hfTWFfVGlfT25fVG9fRnJfTMO4Jy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdCA6IHtcbiAgICAgIExUIDogJ0hIOm1tJyxcbiAgICAgIExUUyA6ICdISDptbTpzcycsXG4gICAgICBMIDogJ0REL01NL1lZWVknLFxuICAgICAgTEwgOiAnRC4gTU1NTSBZWVlZJyxcbiAgICAgIExMTCA6ICdELiBNTU1NIFlZWVkgSEg6bW0nLFxuICAgICAgTExMTCA6ICdkZGRkIFtkLl0gRC4gTU1NTSBZWVlZIFtrbC5dIEhIOm1tJ1xuICB9LFxuICBjYWxlbmRhciA6IHtcbiAgICAgIHNhbWVEYXkgOiAnW2kgZGFnIGtsLl0gTFQnLFxuICAgICAgbmV4dERheSA6ICdbaSBtb3JnZW4ga2wuXSBMVCcsXG4gICAgICBuZXh0V2VlayA6ICdww6UgZGRkZCBba2wuXSBMVCcsXG4gICAgICBsYXN0RGF5IDogJ1tpIGfDpXIga2wuXSBMVCcsXG4gICAgICBsYXN0V2VlayA6ICdbaV0gZGRkZFtzIGtsLl0gTFQnLFxuICAgICAgc2FtZUVsc2UgOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lIDoge1xuICAgICAgZnV0dXJlIDogJ29tICVzJyxcbiAgICAgIHBhc3QgOiAnJXMgc2lkZW4nLFxuICAgICAgcyA6ICdmw6Ugc2VrdW5kZXInLFxuICAgICAgbSA6ICdldCBtaW51dCcsXG4gICAgICBtbSA6ICclZCBtaW51dHRlcicsXG4gICAgICBoIDogJ2VuIHRpbWUnLFxuICAgICAgaGggOiAnJWQgdGltZXInLFxuICAgICAgZCA6ICdlbiBkYWcnLFxuICAgICAgZGQgOiAnJWQgZGFnZScsXG4gICAgICBNIDogJ2VuIG3DpW5lZCcsXG4gICAgICBNTSA6ICclZCBtw6VuZWRlcicsXG4gICAgICB5IDogJ2V0IMOlcicsXG4gICAgICB5eSA6ICclZCDDpXInXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfVxcLi8sXG4gIG9yZGluYWwgOiAnJWQuJyxcbiAgd2VlayA6IHtcbiAgICAgIGRvdyA6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgICAgZG95IDogNCAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNHRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuXG4iXX0=","//! 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\nfunction processRelativeTime(num, withoutSuffix, key, isFuture) {\n const format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [num + ' Tage', num + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [num + ' Monate', num + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [num + ' Jahre', num + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\nexport const deLocale = {\n abbr: 'de',\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\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 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyx3QkFBd0I7QUFDeEIsK0NBQStDO0FBQy9DLHNEQUFzRDtBQUN0RCx3REFBd0Q7QUFFeEQsU0FBUyxtQkFBbUIsQ0FBQyxHQUFXLEVBQUUsYUFBc0IsRUFBRSxHQUFXLEVBQUUsUUFBaUI7SUFDOUYsTUFBTSxNQUFNLEdBQXdDO1FBQ2xELEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7UUFDcEMsR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQztRQUNwQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO1FBQzdCLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxPQUFPLEVBQUUsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUNyQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO1FBQ2pDLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxTQUFTLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FBQztRQUN6QyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO1FBQy9CLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxHQUFHLFNBQVMsQ0FBQztLQUN4QyxDQUFDO0lBQ0YsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsb0ZBQW9GLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RyxXQUFXLEVBQUUsNERBQTRELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNwRixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFFBQVEsRUFBRSw2REFBNkQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2xGLGFBQWEsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzlDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsY0FBYyxFQUFFO1FBQ2QsRUFBRSxFQUFFLE9BQU87UUFDWCxHQUFHLEVBQUUsVUFBVTtRQUNmLENBQUMsRUFBRSxZQUFZO1FBQ2YsRUFBRSxFQUFFLGNBQWM7UUFDbEIsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixJQUFJLEVBQUUsMEJBQTBCO0tBQ2pDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixRQUFRLEVBQUUsR0FBRztRQUNiLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsUUFBUSxFQUFFLG9CQUFvQjtRQUM5QixPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxRQUFRO1FBQ2QsQ0FBQyxFQUFFLG1CQUFtQjtRQUN0QixFQUFFLEVBQUUsYUFBYTtRQUNqQixDQUFDLEVBQUUsbUJBQW1CO1FBQ3RCLEVBQUUsRUFBRSxZQUFZO1FBQ2hCLENBQUMsRUFBRSxtQkFBbUI7UUFDdEIsRUFBRSxFQUFFLFlBQVk7UUFDaEIsQ0FBQyxFQUFFLG1CQUFtQjtRQUN0QixFQUFFLEVBQUUsbUJBQW1CO1FBQ3ZCLENBQUMsRUFBRSxtQkFBbUI7UUFDdEIsRUFBRSxFQUFFLG1CQUFtQjtRQUN2QixDQUFDLEVBQUUsbUJBQW1CO1FBQ3RCLEVBQUUsRUFBRSxtQkFBbUI7S0FDeEI7SUFDRCxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBRSxnRUFBZ0U7S0FDekU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogR2VybWFuIFtkZV1cbi8vISBhdXRob3IgOiBsbHVjaHMgOiBodHRwczovL2dpdGh1Yi5jb20vbGx1Y2hzXG4vLyEgYXV0aG9yOiBNZW5lbGlvbiBFbGVuc8O6bGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9PaXJlXG4vLyEgYXV0aG9yIDogTWlrb2xhaiBEYWRlbGEgOiBodHRwczovL2dpdGh1Yi5jb20vbWlrMDFhalxuXG5mdW5jdGlvbiBwcm9jZXNzUmVsYXRpdmVUaW1lKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBrZXk6IHN0cmluZywgaXNGdXR1cmU6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBjb25zdCBmb3JtYXQ6IHsgW2tleTogc3RyaW5nXTogW3N0cmluZywgc3RyaW5nXSB9ID0ge1xuICAgICdtJzogWydlaW5lIE1pbnV0ZScsICdlaW5lciBNaW51dGUnXSxcbiAgICAnaCc6IFsnZWluZSBTdHVuZGUnLCAnZWluZXIgU3R1bmRlJ10sXG4gICAgJ2QnOiBbJ2VpbiBUYWcnLCAnZWluZW0gVGFnJ10sXG4gICAgJ2RkJzogW251bSArICcgVGFnZScsIG51bSArICcgVGFnZW4nXSxcbiAgICAnTSc6IFsnZWluIE1vbmF0JywgJ2VpbmVtIE1vbmF0J10sXG4gICAgJ01NJzogW251bSArICcgTW9uYXRlJywgbnVtICsgJyBNb25hdGVuJ10sXG4gICAgJ3knOiBbJ2VpbiBKYWhyJywgJ2VpbmVtIEphaHInXSxcbiAgICAneXknOiBbbnVtICsgJyBKYWhyZScsIG51bSArICcgSmFocmVuJ11cbiAgfTtcbiAgcmV0dXJuIHdpdGhvdXRTdWZmaXggPyBmb3JtYXRba2V5XVswXSA6IGZvcm1hdFtrZXldWzFdO1xufVxuXG5leHBvcnQgY29uc3QgZGVMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdkZScsXG4gIG1vbnRoczogJ0phbnVhcl9GZWJydWFyX03DpHJ6X0FwcmlsX01haV9KdW5pX0p1bGlfQXVndXN0X1NlcHRlbWJlcl9Pa3RvYmVyX05vdmVtYmVyX0RlemVtYmVyJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydDogJ0phbi5fRmViLl9Nw6Ryel9BcHIuX01haV9KdW5pX0p1bGlfQXVnLl9TZXAuX09rdC5fTm92Ll9EZXouJy5zcGxpdCgnXycpLFxuICBtb250aHNQYXJzZUV4YWN0OiB0cnVlLFxuICB3ZWVrZGF5czogJ1Nvbm50YWdfTW9udGFnX0RpZW5zdGFnX01pdHR3b2NoX0Rvbm5lcnN0YWdfRnJlaXRhZ19TYW1zdGFnJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0OiAnU28uX01vLl9EaS5fTWkuX0RvLl9Gci5fU2EuJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ1NvX01vX0RpX01pX0RvX0ZyX1NhJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1BhcnNlRXhhY3Q6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdISDptbScsXG4gICAgTFRTOiAnSEg6bW06c3MnLFxuICAgIEw6ICdERC5NTS5ZWVlZJyxcbiAgICBMTDogJ0QuIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRC4gTU1NTSBZWVlZIEhIOm1tJyxcbiAgICBMTExMOiAnZGRkZCwgRC4gTU1NTSBZWVlZIEhIOm1tJ1xuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXk6ICdbaGV1dGUgdW1dIExUIFtVaHJdJyxcbiAgICBzYW1lRWxzZTogJ0wnLFxuICAgIG5leHREYXk6ICdbbW9yZ2VuIHVtXSBMVCBbVWhyXScsXG4gICAgbmV4dFdlZWs6ICdkZGRkIFt1bV0gTFQgW1Vocl0nLFxuICAgIGxhc3REYXk6ICdbZ2VzdGVybiB1bV0gTFQgW1Vocl0nLFxuICAgIGxhc3RXZWVrOiAnW2xldHp0ZW5dIGRkZGQgW3VtXSBMVCBbVWhyXSdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAnaW4gJXMnLFxuICAgIHBhc3Q6ICd2b3IgJXMnLFxuICAgIHM6ICdlaW4gcGFhciBTZWt1bmRlbicsXG4gICAgc3M6ICclZCBTZWt1bmRlbicsXG4gICAgbTogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICBtbTogJyVkIE1pbnV0ZW4nLFxuICAgIGg6IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgaGg6ICclZCBTdHVuZGVuJyxcbiAgICBkOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIGRkOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIE06IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgTU06IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgeTogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICB5eTogcHJvY2Vzc1JlbGF0aXZlVGltZVxuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn1cXC4vLFxuICBvcmRpbmFsOiAnJWQuJyxcbiAgd2Vlazoge1xuICAgIGRvdzogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95OiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\nexport const enGbLocale = {\n abbr: 'en-gb',\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\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 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(_num) {\n const num = Number(_num);\n const b = num % 10, output = (~~(num % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return num + 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tZ2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2VuLWdiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBRTFELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZTtJQUNwQyxJQUFJLEVBQUUsT0FBTztJQUNiLE1BQU0sRUFBRyx1RkFBdUYsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzNHLFdBQVcsRUFBRyxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFFLFFBQVEsRUFBRywwREFBMEQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2hGLGFBQWEsRUFBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hELFdBQVcsRUFBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9DLGNBQWMsRUFBRztRQUNmLEVBQUUsRUFBRyxPQUFPO1FBQ1osR0FBRyxFQUFHLFVBQVU7UUFDaEIsQ0FBQyxFQUFHLFlBQVk7UUFDaEIsRUFBRSxFQUFHLGFBQWE7UUFDbEIsR0FBRyxFQUFHLG1CQUFtQjtRQUN6QixJQUFJLEVBQUcseUJBQXlCO0tBQ2pDO0lBQ0QsUUFBUSxFQUFHO1FBQ1QsT0FBTyxFQUFHLGVBQWU7UUFDekIsT0FBTyxFQUFHLGtCQUFrQjtRQUM1QixRQUFRLEVBQUcsY0FBYztRQUN6QixPQUFPLEVBQUcsbUJBQW1CO1FBQzdCLFFBQVEsRUFBRyxxQkFBcUI7UUFDaEMsUUFBUSxFQUFHLEdBQUc7S0FDZjtJQUNELFlBQVksRUFBRztRQUNiLE1BQU0sRUFBRyxPQUFPO1FBQ2hCLElBQUksRUFBRyxRQUFRO1FBQ2YsQ0FBQyxFQUFHLGVBQWU7UUFDbkIsRUFBRSxFQUFHLFlBQVk7UUFDakIsQ0FBQyxFQUFHLFVBQVU7UUFDZCxFQUFFLEVBQUcsWUFBWTtRQUNqQixDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxVQUFVO1FBQ2YsQ0FBQyxFQUFHLE9BQU87UUFDWCxFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxTQUFTO1FBQ2IsRUFBRSxFQUFHLFdBQVc7UUFDaEIsQ0FBQyxFQUFHLFFBQVE7UUFDWixFQUFFLEVBQUcsVUFBVTtLQUNoQjtJQUNELHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxPQUFPLENBQUMsSUFBWTtRQUNsQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFDaEIsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoQyxPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksRUFBRztRQUNMLEdBQUcsRUFBRyxDQUFDLEVBQUUsdUNBQXVDO1FBQ2hELEdBQUcsRUFBRyxDQUFDLENBQUUsZ0VBQWdFO0tBQzFFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEVuZ2xpc2ggKFVuaXRlZCBLaW5nZG9tKSBbZW4tZ2JdXG4vLyEgYXV0aG9yIDogQ2hyaXMgR2VkcmltIDogaHR0cHM6Ly9naXRodWIuY29tL2NocmlzZ2VkcmltXG5cbmV4cG9ydCBjb25zdCBlbkdiTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnZW4tZ2InLFxuICBtb250aHMgOiAnSmFudWFyeV9GZWJydWFyeV9NYXJjaF9BcHJpbF9NYXlfSnVuZV9KdWx5X0F1Z3VzdF9TZXB0ZW1iZXJfT2N0b2Jlcl9Ob3ZlbWJlcl9EZWNlbWJlcicuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQgOiAnSmFuX0ZlYl9NYXJfQXByX01heV9KdW5fSnVsX0F1Z19TZXBfT2N0X05vdl9EZWMnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzIDogJ1N1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0IDogJ1N1bl9Nb25fVHVlX1dlZF9UaHVfRnJpX1NhdCcuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW4gOiAnU3VfTW9fVHVfV2VfVGhfRnJfU2EnLnNwbGl0KCdfJyksXG4gIGxvbmdEYXRlRm9ybWF0IDoge1xuICAgIExUIDogJ0hIOm1tJyxcbiAgICBMVFMgOiAnSEg6bW06c3MnLFxuICAgIEwgOiAnREQvTU0vWVlZWScsXG4gICAgTEwgOiAnRCBNTU1NIFlZWVknLFxuICAgIExMTCA6ICdEIE1NTU0gWVlZWSBISDptbScsXG4gICAgTExMTCA6ICdkZGRkLCBEIE1NTU0gWVlZWSBISDptbSdcbiAgfSxcbiAgY2FsZW5kYXIgOiB7XG4gICAgc2FtZURheSA6ICdbVG9kYXkgYXRdIExUJyxcbiAgICBuZXh0RGF5IDogJ1tUb21vcnJvdyBhdF0gTFQnLFxuICAgIG5leHRXZWVrIDogJ2RkZGQgW2F0XSBMVCcsXG4gICAgbGFzdERheSA6ICdbWWVzdGVyZGF5IGF0XSBMVCcsXG4gICAgbGFzdFdlZWsgOiAnW0xhc3RdIGRkZGQgW2F0XSBMVCcsXG4gICAgc2FtZUVsc2UgOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lIDoge1xuICAgIGZ1dHVyZSA6ICdpbiAlcycsXG4gICAgcGFzdCA6ICclcyBhZ28nLFxuICAgIHMgOiAnYSBmZXcgc2Vjb25kcycsXG4gICAgc3MgOiAnJWQgc2Vjb25kcycsXG4gICAgbSA6ICdhIG1pbnV0ZScsXG4gICAgbW0gOiAnJWQgbWludXRlcycsXG4gICAgaCA6ICdhbiBob3VyJyxcbiAgICBoaCA6ICclZCBob3VycycsXG4gICAgZCA6ICdhIGRheScsXG4gICAgZGQgOiAnJWQgZGF5cycsXG4gICAgTSA6ICdhIG1vbnRoJyxcbiAgICBNTSA6ICclZCBtb250aHMnLFxuICAgIHkgOiAnYSB5ZWFyJyxcbiAgICB5eSA6ICclZCB5ZWFycydcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9KHN0fG5kfHJkfHRoKS8sXG4gIG9yZGluYWwoX251bTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW0gPSBOdW1iZXIoX251bSk7XG4gICAgY29uc3QgYiA9IG51bSAlIDEwLFxuICAgICAgb3V0cHV0ID0gKH5+KG51bSAlIDEwMCAvIDEwKSA9PT0gMSkgPyAndGgnIDpcbiAgICAgICAgKGIgPT09IDEpID8gJ3N0JyA6XG4gICAgICAgICAgKGIgPT09IDIpID8gJ25kJyA6XG4gICAgICAgICAgICAoYiA9PT0gMykgPyAncmQnIDogJ3RoJztcbiAgICByZXR1cm4gbnVtICsgb3V0cHV0O1xuICB9LFxuICB3ZWVrIDoge1xuICAgIGRvdyA6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveSA6IDQgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDR0aCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcblxuIl19","import { getHours, getMonth } from '../utils/date-getters';\n//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\nlet monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\nlet monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\nlet monthsRegex = /^(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;\nexport const esDoLocale = {\n abbr: 'es-do',\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort(date, format, isUTC) {\n if (!date) {\n return monthsShortDot;\n }\n else if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n else {\n return monthsShortDot[getMonth(date, isUTC)];\n }\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n 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(date) {\n return '[hoy a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date) {\n return '[mañana a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date) {\n return 'dddd [a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date) {\n return '[ayer a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date) {\n return '[el] dddd [pasado a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\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 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtZG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2VzLWRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Qsa0NBQWtDO0FBQ2xDLGlEQUFpRDtBQUVqRCxJQUFJLGNBQWMsR0FBRyw2REFBNkQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQzNGLFdBQVcsR0FBRyxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFN0UsSUFBSSxXQUFXLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ILElBQUksV0FBVyxHQUFHLGtMQUFrTCxDQUFDO0FBRXJNLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZTtJQUNwQyxJQUFJLEVBQUUsT0FBTztJQUNiLE1BQU0sRUFBRSwwRkFBMEYsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzdHLFdBQVcsQ0FBQyxJQUFVLEVBQUUsTUFBYyxFQUFFLEtBQWU7UUFDckQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxjQUFjLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lB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cyc7XG5pbXBvcnQgeyBnZXRIb3VycywgZ2V0TW9udGggfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogU3BhbmlzaCAoRG9taW5pY2FuIFJlcHVibGljKSBbZXMtZG9dXG5cbmxldCBtb250aHNTaG9ydERvdCA9ICdlbmUuX2ZlYi5fbWFyLl9hYnIuX21heS5fanVuLl9qdWwuX2Fnby5fc2VwLl9vY3QuX25vdi5fZGljLicuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQgPSAnZW5lX2ZlYl9tYXJfYWJyX21heV9qdW5fanVsX2Fnb19zZXBfb2N0X25vdl9kaWMnLnNwbGl0KCdfJyk7XG5cbmxldCBtb250aHNQYXJzZSA9IFsvXmVuZS9pLCAvXmZlYi9pLCAvXm1hci9pLCAvXmFici9pLCAvXm1heS9pLCAvXmp1bi9pLCAvXmp1bC9pLCAvXmFnby9pLCAvXnNlcC9pLCAvXm9jdC9pLCAvXm5vdi9pLCAvXmRpYy9pXTtcbmxldCBtb250aHNSZWdleCA9IC9eKGVuZXJvfGZlYnJlcm98bWFyem98YWJyaWx8bWF5b3xqdW5pb3xqdWxpb3xhZ29zdG98c2VwdGllbWJyZXxvY3R1YnJlfG5vdmllbWJyZXxkaWNpZW1icmV8ZW5lXFwuP3xmZWJcXC4/fG1hclxcLj98YWJyXFwuP3xtYXlcXC4/fGp1blxcLj98anVsXFwuP3xhZ29cXC4/fHNlcFxcLj98b2N0XFwuP3xub3ZcXC4/fGRpY1xcLj8pL2k7XG5cbmV4cG9ydCBjb25zdCBlc0RvTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnZXMtZG8nLFxuICBtb250aHM6ICdlbmVyb19mZWJyZXJvX21hcnpvX2FicmlsX21heW9fanVuaW9fanVsaW9fYWdvc3RvX3NlcHRpZW1icmVfb2N0dWJyZV9ub3ZpZW1icmVfZGljaWVtYnJlJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydChkYXRlOiBEYXRlLCBmb3JtYXQ6IHN0cmluZywgaXNVVEM/OiBib29sZWFuKTogc3RyaW5nIHwgc3RyaW5nW10ge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIG1vbnRoc1Nob3J0RG90O1xuICAgIH0gZWxzZSBpZiAoLy1NTU0tLy50ZXN0KGZvcm1hdCkpIHtcbiAgICAgIHJldHVybiBtb250aHNTaG9ydFtnZXRNb250aChkYXRlLCBpc1VUQyldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnREb3RbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgICB9XG4gIH0sXG4gIG1vbnRoc1JlZ2V4LFxuICBtb250aHNTaG9ydFJlZ2V4OiBtb250aHNSZWdleCxcbiAgbW9udGhzU3RyaWN0UmVnZXg6IC9eKGVuZXJvfGZlYnJlcm98bWFyem98YWJyaWx8bWF5b3xqdW5pb3xqdWxpb3xhZ29zdG98c2VwdGllbWJyZXxvY3R1YnJlfG5vdmllbWJyZXxkaWNpZW1icmUpL2ksXG4gIG1vbnRoc1Nob3J0U3RyaWN0UmVnZXg6IC9eKGVuZVxcLj98ZmViXFwuP3xtYXJcXC4/fGFiclxcLj98bWF5XFwuP3xqdW5cXC4/fGp1bFxcLj98YWdvXFwuP3xzZXBcXC4/fG9jdFxcLj98bm92XFwuP3xkaWNcXC4/KS9pLFxuICBtb250aHNQYXJzZSxcbiAgbG9uZ01vbnRoc1BhcnNlOiBtb250aHNQYXJzZSxcbiAgc2hvcnRNb250aHNQYXJzZTogbW9udGhzUGFyc2UsXG4gIHdlZWtkYXlzOiAnZG9taW5nb19sdW5lc19tYXJ0ZXNfbWnDqXJjb2xlc19qdWV2ZXNfdmllcm5lc19zw6FiYWRvJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0OiAnZG9tLl9sdW4uX21hci5fbWnDqS5fanVlLl92aWUuX3PDoWIuJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ2RvX2x1X21hX21pX2p1X3ZpX3PDoScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNQYXJzZUV4YWN0OiB0cnVlLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnaDptbSBBJyxcbiAgICBMVFM6ICdoOm1tOnNzIEEnLFxuICAgIEw6ICdERC9NTS9ZWVlZJyxcbiAgICBMTDogJ0QgW2RlXSBNTU1NIFtkZV0gWVlZWScsXG4gICAgTExMOiAnRCBbZGVdIE1NTU0gW2RlXSBZWVlZIGg6bW0gQScsXG4gICAgTExMTDogJ2RkZGQsIEQgW2RlXSBNTU1NIFtkZV0gWVlZWSBoOm1tIEEnXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAnW2hveSBhIGxhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbmV4dERheShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAnW21hw7FhbmEgYSBsYScgKyAoKGdldEhvdXJzKGRhdGUpICE9PSAxKSA/ICdzJyA6ICcnKSArICddIExUJztcbiAgICB9LFxuICAgIG5leHRXZWVrKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICdkZGRkIFthIGxhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbGFzdERheShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAnW2F5ZXIgYSBsYScgKyAoKGdldEhvdXJzKGRhdGUpICE9PSAxKSA/ICdzJyA6ICcnKSArICddIExUJztcbiAgICB9LFxuICAgIGxhc3RXZWVrKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICdbZWxdIGRkZGQgW3Bhc2FkbyBhIGxhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICdlbiAlcycsXG4gICAgcGFzdDogJ2hhY2UgJXMnLFxuICAgIHM6ICd1bm9zIHNlZ3VuZG9zJyxcbiAgICBzczogJyVkIHNlZ3VuZG9zJyxcbiAgICBtOiAndW4gbWludXRvJyxcbiAgICBtbTogJyVkIG1pbnV0b3MnLFxuICAgIGg6ICd1bmEgaG9yYScsXG4gICAgaGg6ICclZCBob3JhcycsXG4gICAgZDogJ3VuIGTDrWEnLFxuICAgIGRkOiAnJWQgZMOtYXMnLFxuICAgIE06ICd1biBtZXMnLFxuICAgIE1NOiAnJWQgbWVzZXMnLFxuICAgIHk6ICd1biBhw7FvJyxcbiAgICB5eTogJyVkIGHDsW9zJ1xuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn3Cui8sXG4gIG9yZGluYWw6ICclZMK6JyxcbiAgd2Vlazoge1xuICAgIGRvdzogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95OiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","import { getHours, getMonth } from '../utils/date-getters';\n//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\nlet monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\nlet monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\nlet monthsRegex = /^(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;\nexport const esLocale = {\n abbr: 'es',\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort(date, format, isUTC) {\n if (!date) {\n return monthsShortDot;\n }\n if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n return monthsShortDot[getMonth(date, isUTC)];\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n 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(date) {\n return '[hoy a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date) {\n return '[mañana a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date) {\n return 'dddd [a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date) {\n return '[ayer a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date) {\n return '[el] dddd [pasado a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\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 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Qsa0NBQWtDO0FBQ2xDLHlCQUF5QjtBQUN6QixzREFBc0Q7QUFFdEQsSUFBSSxjQUFjLEdBQUcsNkRBQTZELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUMzRixXQUFXLEdBQUcsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRTdFLElBQUksV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvSCxJQUFJLFdBQVcsR0FBRyxrTEFBa0wsQ0FBQztBQUVyTSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsMEZBQTBGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM3RyxXQUFXLENBQUMsSUFBVSxFQUFFLE1BQWMsRUFBRSxLQUFlO1FBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsV0FBVztJQUNYLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsaUJBQWlCLEVBQUUsOEZBQThGO0lBQ2pILHNCQUFzQixFQUFFLHlGQUF5RjtJQUNqSCxXQUFXO0lBQ1gsZUFBZSxFQUFFLFdBQVc7SUFDNUIsZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixRQUFRLEVBQUUsc0RBQXNELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMzRSxhQUFhLEVBQUUsb0NBQW9DLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5RCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxNQUFNO1FBQ1YsR0FBRyxFQUFFLFNBQVM7UUFDZCxDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSx1QkFBdUI7UUFDM0IsR0FBRyxFQUFFLDRCQUE0QjtRQUNqQyxJQUFJLEVBQUUsa0NBQWtDO0tBQ3pDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxDQUFDLElBQVU7WUFDaEIsT0FBTyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDcEUsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFVO1lBQ2hCLE9BQU8sY0FBYyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxRQUFRLENBQUMsSUFBVTtZQUNqQixPQUFPLFlBQVksR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQVU7WUFDaEIsT0FBTyxZQUFZLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDckUsQ0FBQztRQUNELFFBQVEsQ0FBQyxJQUFVO1lBQ2pCLE9BQU8sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDakYsQ0FBQztRQUNELFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsQ0FBQyxFQUFFLGVBQWU7UUFDbEIsRUFBRSxFQUFFLGFBQWE7UUFDakIsQ0FBQyxFQUFFLFdBQVc7UUFDZCxFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsVUFBVTtRQUNiLEVBQUUsRUFBRSxVQUFVO1FBQ2QsQ0FBQyxFQUFFLFFBQVE7UUFDWCxFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxRQUFRO1FBQ1gsRUFBRSxFQUFFLFVBQVU7UUFDZCxDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxTQUFTO0tBQ2Q7SUFDRCxzQkFBc0IsRUFBRSxVQUFVO0lBQ2xDLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBRSxnRUFBZ0U7S0FDekU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuaW1wb3J0IHsgZ2V0SG91cnMsIGdldE1vbnRoIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IFNwYW5pc2ggW2VzXVxuLy8hIGF1dGhvciA6IEp1bGlvIE5hcHVyw60gOiBodHRwczovL2dpdGh1Yi5jb20vanVsaW9uY1xuXG5sZXQgbW9udGhzU2hvcnREb3QgPSAnZW5lLl9mZWIuX21hci5fYWJyLl9tYXkuX2p1bi5fanVsLl9hZ28uX3NlcC5fb2N0Ll9ub3YuX2RpYy4nLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0ID0gJ2VuZV9mZWJfbWFyX2Ficl9tYXlfanVuX2p1bF9hZ29fc2VwX29jdF9ub3ZfZGljJy5zcGxpdCgnXycpO1xuXG5sZXQgbW9udGhzUGFyc2UgPSBbL15lbmUvaSwgL15mZWIvaSwgL15tYXIvaSwgL15hYnIvaSwgL15tYXkvaSwgL15qdW4vaSwgL15qdWwvaSwgL15hZ28vaSwgL15zZXAvaSwgL15vY3QvaSwgL15ub3YvaSwgL15kaWMvaV07XG5sZXQgbW9udGhzUmVnZXggPSAvXihlbmVyb3xmZWJyZXJvfG1hcnpvfGFicmlsfG1heW98anVuaW98anVsaW98YWdvc3RvfHNlcHRpZW1icmV8b2N0dWJyZXxub3ZpZW1icmV8ZGljaWVtYnJlfGVuZVxcLj98ZmViXFwuP3xtYXJcXC4/fGFiclxcLj98bWF5XFwuP3xqdW5cXC4/fGp1bFxcLj98YWdvXFwuP3xzZXBcXC4/fG9jdFxcLj98bm92XFwuP3xkaWNcXC4/KS9pO1xuXG5leHBvcnQgY29uc3QgZXNMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdlcycsXG4gIG1vbnRoczogJ2VuZXJvX2ZlYnJlcm9fbWFyem9fYWJyaWxfbWF5b19qdW5pb19qdWxpb19hZ29zdG9fc2VwdGllbWJyZV9vY3R1YnJlX25vdmllbWJyZV9kaWNpZW1icmUnLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0KGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnREb3Q7XG4gICAgfVxuXG4gICAgaWYgKC8tTU1NLS8udGVzdChmb3JtYXQpKSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnRbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9udGhzU2hvcnREb3RbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgfSxcbiAgbW9udGhzUmVnZXgsXG4gIG1vbnRoc1Nob3J0UmVnZXg6IG1vbnRoc1JlZ2V4LFxuICBtb250aHNTdHJpY3RSZWdleDogL14oZW5lcm98ZmVicmVyb3xtYXJ6b3xhYnJpbHxtYXlvfGp1bmlvfGp1bGlvfGFnb3N0b3xzZXB0aWVtYnJlfG9jdHVicmV8bm92aWVtYnJlfGRpY2llbWJyZSkvaSxcbiAgbW9udGhzU2hvcnRTdHJpY3RSZWdleDogL14oZW5lXFwuP3xmZWJcXC4/fG1hclxcLj98YWJyXFwuP3xtYXlcXC4/fGp1blxcLj98anVsXFwuP3xhZ29cXC4/fHNlcFxcLj98b2N0XFwuP3xub3ZcXC4/fGRpY1xcLj8pL2ksXG4gIG1vbnRoc1BhcnNlLFxuICBsb25nTW9udGhzUGFyc2U6IG1vbnRoc1BhcnNlLFxuICBzaG9ydE1vbnRoc1BhcnNlOiBtb250aHNQYXJzZSxcbiAgd2Vla2RheXM6ICdkb21pbmdvX2x1bmVzX21hcnRlc19tacOpcmNvbGVzX2p1ZXZlc192aWVybmVzX3PDoWJhZG8nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICdkb20uX2x1bi5fbWFyLl9tacOpLl9qdWUuX3ZpZS5fc8OhYi4nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAnZG9fbHVfbWFfbWlfanVfdmlfc8OhJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1BhcnNlRXhhY3Q6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdIOm1tJyxcbiAgICBMVFM6ICdIOm1tOnNzJyxcbiAgICBMOiAnREQvTU0vWVlZWScsXG4gICAgTEw6ICdEIFtkZV0gTU1NTSBbZGVdIFlZWVknLFxuICAgIExMTDogJ0QgW2RlXSBNTU1NIFtkZV0gWVlZWSBIOm1tJyxcbiAgICBMTExMOiAnZGRkZCwgRCBbZGVdIE1NTU0gW2RlXSBZWVlZIEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheShkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ1tob3kgYSBsYScgKyAoKGdldEhvdXJzKGRhdGUpICE9PSAxKSA/ICdzJyA6ICcnKSArICddIExUJztcbiAgICB9LFxuICAgIG5leHREYXkoZGF0ZTogRGF0ZSkge1xuICAgICAgcmV0dXJuICdbbWHDsWFuYSBhIGxhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbmV4dFdlZWsoZGF0ZTogRGF0ZSkge1xuICAgICAgcmV0dXJuICdkZGRkIFthIGxhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbGFzdERheShkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ1theWVyIGEgbGEnICsgKChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAncycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBsYXN0V2VlayhkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ1tlbF0gZGRkZCBbcGFzYWRvIGEgbGEnICsgKChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAncycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ2VuICVzJyxcbiAgICBwYXN0OiAnaGFjZSAlcycsXG4gICAgczogJ3Vub3Mgc2VndW5kb3MnLFxuICAgIHNzOiAnJWQgc2VndW5kb3MnLFxuICAgIG06ICd1biBtaW51dG8nLFxuICAgIG1tOiAnJWQgbWludXRvcycsXG4gICAgaDogJ3VuYSBob3JhJyxcbiAgICBoaDogJyVkIGhvcmFzJyxcbiAgICBkOiAndW4gZMOtYScsXG4gICAgZGQ6ICclZCBkw61hcycsXG4gICAgTTogJ3VuIG1lcycsXG4gICAgTU06ICclZCBtZXNlcycsXG4gICAgeTogJ3VuIGHDsW8nLFxuICAgIHl5OiAnJWQgYcOxb3MnXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfcK6LyxcbiAgb3JkaW5hbDogJyVkwronLFxuICB3ZWVrOiB7XG4gICAgZG93OiAxLCAvLyBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3k6IDQgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDR0aCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcbiJdfQ==","import { getHours, getMonth } from '../utils/date-getters';\n//! moment.js locale configuration\n//! locale : Spanish (Puerto Rico) [es-pr]\nlet monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nlet monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\nexport const esPrLocale = {\n abbr: 'es-pr',\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort(date, format, isUTC) {\n if (!date) {\n return monthsShortDot;\n }\n else if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n else {\n return monthsShortDot[getMonth(date, isUTC)];\n }\n },\n monthsParseExact: true,\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(date) {\n return '[hoy a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date) {\n return '[mañana a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date) {\n return 'dddd [a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date) {\n return '[ayer a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date) {\n return '[el] dddd [pasado a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\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 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 1st is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtcHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2VzLXByLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Qsa0NBQWtDO0FBQ2xDLDBDQUEwQztBQUUxQyxJQUFJLGNBQWMsR0FBRyw2REFBNkQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDOUYsSUFBSSxXQUFXLEdBQUcsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZTtJQUNwQyxJQUFJLEVBQUUsT0FBTztJQUNiLE1BQU0sRUFBRSwwRkFBMEYsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzdHLFdBQVcsQ0FBQyxJQUFVLEVBQUUsTUFBYyxFQUFFLEtBQWU7UUFDckQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxjQUFjLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixFQUFFLElBQUk7SUFDdEIsUUFBUSxFQUFFLHNEQUFzRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDM0UsYUFBYSxFQUFFLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDOUQsV0FBVyxFQUFFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDOUMsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixjQUFjLEVBQUU7UUFDZCxFQUFFLEVBQUUsUUFBUTtRQUNaLEdBQUcsRUFBRSxXQUFXO1FBQ2hCLENBQUMsRUFBRSxZQUFZO1FBQ2YsRUFBRSxFQUFFLHVCQUF1QjtRQUMzQixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLElBQUksRUFBRSxvQ0FBb0M7S0FDM0M7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLENBQUMsSUFBVTtZQUNoQixPQUFPLFdBQVcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQVU7WUFDaEIsT0FBTyxjQUFjLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDdkUsQ0FBQztRQUNELFFBQVEsQ0FBQyxJQUFVO1lBQ2pCLE9BQU8sWUFBWSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3JFLENBQUM7UUFDRCxPQUFPLENBQUMsSUFBVTtZQUNoQixPQUFPLFlBQVksR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNyRSxDQUFDO1FBQ0QsUUFBUSxDQUFDLElBQVU7WUFDakIsT0FBTyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNqRixDQUFDO1FBQ0QsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLFNBQVM7UUFDZixDQUFDLEVBQUUsZUFBZTtRQUNsQixFQUFFLEVBQUUsYUFBYTtRQUNqQixDQUFDLEVBQUUsV0FBVztRQUNkLEVBQUUsRUFBRSxZQUFZO1FBQ2hCLENBQUMsRUFBRSxVQUFVO1FBQ2IsRUFBRSxFQUFFLFVBQVU7UUFDZCxDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFFBQVE7UUFDWCxFQUFFLEVBQUUsVUFBVTtRQUNkLENBQUMsRUFBRSxRQUFRO1FBQ1gsRUFBRSxFQUFFLFNBQVM7S0FDZDtJQUNELHNCQUFzQixFQUFFLFVBQVU7SUFDbEMsT0FBTyxFQUFFLEtBQUs7SUFDZCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsQ0FBQyxFQUFFLHVDQUF1QztRQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFFLGdFQUFnRTtLQUN6RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBnZXRIb3VycywgZ2V0TW9udGggfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogU3BhbmlzaCAoUHVlcnRvIFJpY28pIFtlcy1wcl1cblxubGV0IG1vbnRoc1Nob3J0RG90ID0gJ2VuZS5fZmViLl9tYXIuX2Fici5fbWF5Ll9qdW4uX2p1bC5fYWdvLl9zZXAuX29jdC5fbm92Ll9kaWMuJy5zcGxpdCgnXycpO1xubGV0IG1vbnRoc1Nob3J0ID0gJ2VuZV9mZWJfbWFyX2Ficl9tYXlfanVuX2p1bF9hZ29fc2VwX29jdF9ub3ZfZGljJy5zcGxpdCgnXycpO1xuXG5leHBvcnQgY29uc3QgZXNQckxvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ2VzLXByJyxcbiAgbW9udGhzOiAnZW5lcm9fZmVicmVyb19tYXJ6b19hYnJpbF9tYXlvX2p1bmlvX2p1bGlvX2Fnb3N0b19zZXB0aWVtYnJlX29jdHVicmVfbm92aWVtYnJlX2RpY2llbWJyZScuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQoZGF0ZTogRGF0ZSwgZm9ybWF0OiBzdHJpbmcsIGlzVVRDPzogYm9vbGVhbik6IHN0cmluZyB8IHN0cmluZ1tdIHtcbiAgICBpZiAoIWRhdGUpIHtcbiAgICAgIHJldHVybiBtb250aHNTaG9ydERvdDtcbiAgICB9IGVsc2UgaWYgKC8tTU1NLS8udGVzdChmb3JtYXQpKSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnRbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1vbnRoc1Nob3J0RG90W2dldE1vbnRoKGRhdGUsIGlzVVRDKV07XG4gICAgfVxuICB9LFxuICBtb250aHNQYXJzZUV4YWN0OiB0cnVlLFxuICB3ZWVrZGF5czogJ2RvbWluZ29fbHVuZXNfbWFydGVzX21pw6lyY29sZXNfanVldmVzX3ZpZXJuZXNfc8OhYmFkbycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ2RvbS5fbHVuLl9tYXIuX21pw6kuX2p1ZS5fdmllLl9zw6FiLicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICdkb19sdV9tYV9taV9qdV92aV9zw6EnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ2g6bW0gQScsXG4gICAgTFRTOiAnaDptbTpzcyBBJyxcbiAgICBMOiAnTU0vREQvWVlZWScsXG4gICAgTEw6ICdEIFtkZV0gTU1NTSBbZGVdIFlZWVknLFxuICAgIExMTDogJ0QgW2RlXSBNTU1NIFtkZV0gWVlZWSBoOm1tIEEnLFxuICAgIExMTEw6ICdkZGRkLCBEIFtkZV0gTU1NTSBbZGVdIFlZWVkgaDptbSBBJ1xuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXkoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ1tob3kgYSBsYScgKyAoKGdldEhvdXJzKGRhdGUpICE9PSAxKSA/ICdzJyA6ICcnKSArICddIExUJztcbiAgICB9LFxuICAgIG5leHREYXkoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ1ttYcOxYW5hIGEgbGEnICsgKChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAncycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBuZXh0V2VlayhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAnZGRkZCBbYSBsYScgKyAoKGdldEhvdXJzKGRhdGUpICE9PSAxKSA/ICdzJyA6ICcnKSArICddIExUJztcbiAgICB9LFxuICAgIGxhc3REYXkoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ1theWVyIGEgbGEnICsgKChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAncycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBsYXN0V2VlayhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAnW2VsXSBkZGRkIFtwYXNhZG8gYSBsYScgKyAoKGdldEhvdXJzKGRhdGUpICE9PSAxKSA/ICdzJyA6ICcnKSArICddIExUJztcbiAgICB9LFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAnZW4gJXMnLFxuICAgIHBhc3Q6ICdoYWNlICVzJyxcbiAgICBzOiAndW5vcyBzZWd1bmRvcycsXG4gICAgc3M6ICclZCBzZWd1bmRvcycsXG4gICAgbTogJ3VuIG1pbnV0bycsXG4gICAgbW06ICclZCBtaW51dG9zJyxcbiAgICBoOiAndW5hIGhvcmEnLFxuICAgIGhoOiAnJWQgaG9yYXMnLFxuICAgIGQ6ICd1biBkw61hJyxcbiAgICBkZDogJyVkIGTDrWFzJyxcbiAgICBNOiAndW4gbWVzJyxcbiAgICBNTTogJyVkIG1lc2VzJyxcbiAgICB5OiAndW4gYcOxbycsXG4gICAgeXk6ICclZCBhw7FvcydcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9wrovLFxuICBvcmRpbmFsOiAnJWTCuicsXG4gIHdlZWs6IHtcbiAgICBkb3c6IDAsIC8vIFN1bmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNiAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gMXN0IGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","import { getHours, getMonth } from '../utils/date-getters';\n//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\nlet monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nlet monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\nexport const esUsLocale = {\n abbr: 'es-us',\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort(date, format, isUTC) {\n if (!date) {\n return monthsShortDot;\n }\n else if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n else {\n return monthsShortDot[getMonth(date, isUTC)];\n }\n },\n monthsParseExact: true,\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: 'MMMM [de] D [de] YYYY',\n LLL: 'MMMM [de] D [de] YYYY h:mm A',\n LLLL: 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar: {\n sameDay(date) {\n return '[hoy a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date) {\n return '[mañana a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date) {\n return 'dddd [a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date) {\n return '[ayer a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date) {\n return '[el] dddd [pasado a la' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\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 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 1st is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2VzLXVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Qsa0NBQWtDO0FBQ2xDLDRDQUE0QztBQUM1QywrQ0FBK0M7QUFFL0MsSUFBSSxjQUFjLEdBQUcsNkRBQTZELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlGLElBQUksV0FBVyxHQUFHLGlEQUFpRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWU7SUFDcEMsSUFBSSxFQUFFLE9BQU87SUFDYixNQUFNLEVBQUUsMEZBQTBGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM3RyxXQUFXLENBQUMsSUFBVSxFQUFFLE1BQWMsRUFBRSxLQUFlO1FBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFDRCxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFFBQVEsRUFBRSxzREFBc0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzNFLGFBQWEsRUFBRSxvQ0FBb0MsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzlELFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzlDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsY0FBYyxFQUFFO1FBQ2QsRUFBRSxFQUFFLFFBQVE7UUFDWixHQUFHLEVBQUUsV0FBVztRQUNoQixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSx1QkFBdUI7UUFDM0IsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxJQUFJLEVBQUUsb0NBQW9DO0tBQzNDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxDQUFDLElBQVU7WUFDaEIsT0FBTyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDcEUsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFVO1lBQ2hCLE9BQU8sY0FBYyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxRQUFRLENBQUMsSUFBVTtZQUNqQixPQUFPLFlBQVksR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQVU7WUFDaEIsT0FBTyxZQUFZLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDckUsQ0FBQztRQUNELFFBQVEsQ0FBQyxJQUFVO1lBQ2pCLE9BQU8sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDakYsQ0FBQztRQUNELFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsQ0FBQyxFQUFFLGVBQWU7UUFDbEIsRUFBRSxFQUFFLGFBQWE7UUFDakIsQ0FBQyxFQUFFLFdBQVc7UUFDZCxFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsVUFBVTtRQUNiLEVBQUUsRUFBRSxVQUFVO1FBQ2QsQ0FBQyxFQUFFLFFBQVE7UUFDWCxFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxRQUFRO1FBQ1gsRUFBRSxFQUFFLFVBQVU7UUFDZCxDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxTQUFTO0tBQ2Q7SUFDRCxzQkFBc0IsRUFBRSxVQUFVO0lBQ2xDLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBRSxnRUFBZ0U7S0FDekU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuaW1wb3J0IHsgZ2V0SG91cnMsIGdldE1vbnRoIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IFNwYW5pc2ggKFVuaXRlZCBTdGF0ZXMpIFtlcy11c11cbi8vISBhdXRob3IgOiBidXN0dGEgOiBodHRwczovL2dpdGh1Yi5jb20vYnVzdHRhXG5cbmxldCBtb250aHNTaG9ydERvdCA9ICdlbmUuX2ZlYi5fbWFyLl9hYnIuX21heS5fanVuLl9qdWwuX2Fnby5fc2VwLl9vY3QuX25vdi5fZGljLicuc3BsaXQoJ18nKTtcbmxldCBtb250aHNTaG9ydCA9ICdlbmVfZmViX21hcl9hYnJfbWF5X2p1bl9qdWxfYWdvX3NlcF9vY3Rfbm92X2RpYycuc3BsaXQoJ18nKTtcblxuZXhwb3J0IGNvbnN0IGVzVXNMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdlcy11cycsXG4gIG1vbnRoczogJ2VuZXJvX2ZlYnJlcm9fbWFyem9fYWJyaWxfbWF5b19qdW5pb19qdWxpb19hZ29zdG9fc2VwdGllbWJyZV9vY3R1YnJlX25vdmllbWJyZV9kaWNpZW1icmUnLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0KGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnREb3Q7XG4gICAgfSBlbHNlIGlmICgvLU1NTS0vLnRlc3QoZm9ybWF0KSkge1xuICAgICAgcmV0dXJuIG1vbnRoc1Nob3J0W2dldE1vbnRoKGRhdGUsIGlzVVRDKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBtb250aHNTaG9ydERvdFtnZXRNb250aChkYXRlLCBpc1VUQyldO1xuICAgIH1cbiAgfSxcbiAgbW9udGhzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgd2Vla2RheXM6ICdkb21pbmdvX2x1bmVzX21hcnRlc19tacOpcmNvbGVzX2p1ZXZlc192aWVybmVzX3PDoWJhZG8nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICdkb20uX2x1bi5fbWFyLl9tacOpLl9qdWUuX3ZpZS5fc8OhYi4nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAnZG9fbHVfbWFfbWlfanVfdmlfc8OhJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1BhcnNlRXhhY3Q6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdoOm1tIEEnLFxuICAgIExUUzogJ2g6bW06c3MgQScsXG4gICAgTDogJ01NL0REL1lZWVknLFxuICAgIExMOiAnTU1NTSBbZGVdIEQgW2RlXSBZWVlZJyxcbiAgICBMTEw6ICdNTU1NIFtkZV0gRCBbZGVdIFlZWVkgaDptbSBBJyxcbiAgICBMTExMOiAnZGRkZCwgTU1NTSBbZGVdIEQgW2RlXSBZWVlZIGg6bW0gQSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5KGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICdbaG95IGEgbGEnICsgKChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAncycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBuZXh0RGF5KGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICdbbWHDsWFuYSBhIGxhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbmV4dFdlZWsoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ2RkZGQgW2EgbGEnICsgKChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAncycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBsYXN0RGF5KGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICdbYXllciBhIGxhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbGFzdFdlZWsoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ1tlbF0gZGRkZCBbcGFzYWRvIGEgbGEnICsgKChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAncycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ2VuICVzJyxcbiAgICBwYXN0OiAnaGFjZSAlcycsXG4gICAgczogJ3Vub3Mgc2VndW5kb3MnLFxuICAgIHNzOiAnJWQgc2VndW5kb3MnLFxuICAgIG06ICd1biBtaW51dG8nLFxuICAgIG1tOiAnJWQgbWludXRvcycsXG4gICAgaDogJ3VuYSBob3JhJyxcbiAgICBoaDogJyVkIGhvcmFzJyxcbiAgICBkOiAndW4gZMOtYScsXG4gICAgZGQ6ICclZCBkw61hcycsXG4gICAgTTogJ3VuIG1lcycsXG4gICAgTU06ICclZCBtZXNlcycsXG4gICAgeTogJ3VuIGHDsW8nLFxuICAgIHl5OiAnJWQgYcOxb3MnXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfcK6LyxcbiAgb3JkaW5hbDogJyVkwronLFxuICB3ZWVrOiB7XG4gICAgZG93OiAwLCAvLyBTdW5kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3k6IDYgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDFzdCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcbiJdfQ==","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Chris Gedrim : https://github.com/a90machado\nconst processRelativeTime = function (num, withoutSuffix, key, isFuture) {\n const format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [num + 'sekundi', num + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [num + ' minuti', num + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [num + ' tunni', num + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [num + ' kuu', num + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [num + ' aasta', num + ' 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};\nexport const etLocale = {\n abbr: 'et',\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQywwQkFBMEI7QUFDMUIseURBQXlEO0FBRXpELE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxHQUFXLEVBQUUsYUFBc0IsRUFBRSxHQUFXLEVBQUUsUUFBaUI7SUFDdkcsTUFBTSxNQUFNLEdBQUc7UUFDWCxDQUFDLEVBQUcsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQztRQUNwRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsU0FBUyxFQUFFLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDdkMsQ0FBQyxFQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztRQUMvQixFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsU0FBUyxFQUFFLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDdkMsQ0FBQyxFQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUM7UUFDMUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLENBQUMsRUFBRyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUM7UUFDN0IsQ0FBQyxFQUFHLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7UUFDdEMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDO1FBQ2pDLENBQUMsRUFBRyxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDO1FBQ3ZDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxHQUFHLFNBQVMsQ0FBQztLQUN4QyxDQUFDO0lBQ0YsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNoQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsNEZBQTRGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMvRyxXQUFXLEVBQUUsNERBQTRELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNwRixRQUFRLEVBQUUsZ0VBQWdFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNyRixhQUFhLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDekMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3ZDLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBSSxNQUFNO1FBQ1osR0FBRyxFQUFHLFNBQVM7UUFDZixDQUFDLEVBQUssWUFBWTtRQUNsQixFQUFFLEVBQUksY0FBYztRQUNwQixHQUFHLEVBQUcsbUJBQW1CO1FBQ3pCLElBQUksRUFBRSx5QkFBeUI7S0FDaEM7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUcsWUFBWTtRQUN0QixPQUFPLEVBQUcsYUFBYTtRQUN2QixRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLE9BQU8sRUFBRyxZQUFZO1FBQ3RCLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRztRQUNiLE1BQU0sRUFBRyxXQUFXO1FBQ3BCLElBQUksRUFBSyxXQUFXO1FBQ3BCLENBQUMsRUFBUSxtQkFBbUI7UUFDNUIsRUFBRSxFQUFPLG1CQUFtQjtRQUM1QixDQUFDLEVBQVEsbUJBQW1CO1FBQzVCLEVBQUUsRUFBTyxtQkFBbUI7UUFDNUIsQ0FBQyxFQUFRLG1CQUFtQjtRQUM1QixFQUFFLEVBQU8sbUJBQW1CO1FBQzVCLENBQUMsRUFBUSxtQkFBbUI7UUFDNUIsRUFBRSxFQUFPLFVBQVU7UUFDbkIsQ0FBQyxFQUFRLG1CQUFtQjtRQUM1QixFQUFFLEVBQU8sbUJBQW1CO1FBQzVCLENBQUMsRUFBUSxtQkFBbUI7UUFDNUIsRUFBRSxFQUFPLG1CQUFtQjtLQUM3QjtJQUNELHNCQUFzQixFQUFHLFVBQVU7SUFDbkMsT0FBTyxFQUFHLEtBQUs7SUFDZixJQUFJLEVBQUc7UUFDSCxHQUFHLEVBQUcsQ0FBQyxFQUFFLHVDQUF1QztRQUNoRCxHQUFHLEVBQUcsQ0FBQyxDQUFFLGdFQUFnRTtLQUM1RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBFc3RvbmlhbiBbZXRdXG4vLyEgYXV0aG9yIDogQ2hyaXMgR2VkcmltIDogaHR0cHM6Ly9naXRodWIuY29tL2E5MG1hY2hhZG9cblxuY29uc3QgcHJvY2Vzc1JlbGF0aXZlVGltZSA9IGZ1bmN0aW9uIChudW06IG51bWJlciwgd2l0aG91dFN1ZmZpeDogYm9vbGVhbiwga2V5OiBzdHJpbmcsIGlzRnV0dXJlOiBib29sZWFuKSB7XG4gIGNvbnN0IGZvcm1hdCA9IHtcbiAgICAgIHMgOiBbJ23DtW5lIHNla3VuZGknLCAnbcO1bmkgc2VrdW5kJywgJ3BhYXIgc2VrdW5kaXQnXSxcbiAgICAgIHNzOiBbbnVtICsgJ3Nla3VuZGknLCBudW0gKyAnc2VrdW5kaXQnXSxcbiAgICAgIG0gOiBbJ8O8aGUgbWludXRpJywgJ8O8a3MgbWludXQnXSxcbiAgICAgIG1tOiBbbnVtICsgJyBtaW51dGknLCBudW0gKyAnIG1pbnV0aXQnXSxcbiAgICAgIGggOiBbJ8O8aGUgdHVubmknLCAndHVuZCBhZWdhJywgJ8O8a3MgdHVuZCddLFxuICAgICAgaGg6IFtudW0gKyAnIHR1bm5pJywgbnVtICsgJyB0dW5kaSddLFxuICAgICAgZCA6IFsnw7xoZSBww6RldmEnLCAnw7xrcyBww6RldiddLFxuICAgICAgTSA6IFsna3V1IGFqYScsICdrdXUgYWVnYScsICfDvGtzIGt1dSddLFxuICAgICAgTU06IFtudW0gKyAnIGt1dScsIG51bSArICcga3V1ZCddLFxuICAgICAgeSA6IFsnw7xoZSBhYXN0YScsICdhYXN0YScsICfDvGtzIGFhc3RhJ10sXG4gICAgICB5eTogW251bSArICcgYWFzdGEnLCBudW0gKyAnIGFhc3RhdCddXG4gIH07XG4gIGlmICh3aXRob3V0U3VmZml4KSB7XG4gICAgICByZXR1cm4gZm9ybWF0W2tleV1bMl0gPyBmb3JtYXRba2V5XVsyXSA6IGZvcm1hdFtrZXldWzFdO1xuICB9XG4gIHJldHVybiBpc0Z1dHVyZSA/IGZvcm1hdFtrZXldWzBdIDogZm9ybWF0W2tleV1bMV07XG59O1xuXG5leHBvcnQgY29uc3QgZXRMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdldCcsXG4gIG1vbnRoczogJ2phYW51YXJfdmVlYnJ1YXJfbcOkcnRzX2FwcmlsbF9tYWlfanV1bmlfanV1bGlfYXVndXN0X3NlcHRlbWJlcl9va3Rvb2Jlcl9ub3ZlbWJlcl9kZXRzZW1iZXInLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0OiAnamFhbl92ZWVicl9tw6RydHNfYXByX21haV9qdXVuaV9qdXVsaV9hdWdfc2VwdF9va3Rfbm92X2RldHMnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzOiAncMO8aGFww6Rldl9lc21hc3DDpGV2X3RlaXNpcMOkZXZfa29sbWFww6Rldl9uZWxqYXDDpGV2X3JlZWRlX2xhdXDDpGV2Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0OiAnUF9FX1RfS19OX1JfTCcuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICdQX0VfVF9LX05fUl9MJy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAgICdIOm1tJyxcbiAgICBMVFM6ICAnSDptbTpzcycsXG4gICAgTDogICAgJ0RELk1NLllZWVknLFxuICAgIExMOiAgICdELiBNTU1NIFlZWVknLFxuICAgIExMTDogICdELiBNTU1NIFlZWVkgSDptbScsXG4gICAgTExMTDogJ2RkZGQsIEQuIE1NTU0gWVlZWSBIOm1tJ1xuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXk6ICAnW1TDpG5hLF0gTFQnLFxuICAgIG5leHREYXk6ICAnW0hvbW1lLF0gTFQnLFxuICAgIG5leHRXZWVrOiAnW0rDpHJnbWluZV0gZGRkZCBMVCcsXG4gICAgbGFzdERheTogICdbRWlsZSxdIExUJyxcbiAgICBsYXN0V2VlazogJ1tFZWxtaW5lXSBkZGRkIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZSA6IHtcbiAgICBmdXR1cmUgOiAnJXMgcMOkcmFzdCcsXG4gICAgcGFzdCAgIDogJyVzIHRhZ2FzaScsXG4gICAgcyAgICAgIDogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICBzcyAgICAgOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIG0gICAgICA6IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgbW0gICAgIDogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICBoICAgICAgOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIGhoICAgICA6IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgZCAgICAgIDogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICBkZCAgICAgOiAnJWQgcMOkZXZhJyxcbiAgICBNICAgICAgOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIE1NICAgICA6IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgeSAgICAgIDogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICB5eSAgICAgOiBwcm9jZXNzUmVsYXRpdmVUaW1lXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2UgOiAvXFxkezEsMn0uLyxcbiAgb3JkaW5hbCA6ICclZC4nLFxuICB3ZWVrIDoge1xuICAgICAgZG93IDogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgICBkb3kgOiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","//! moment.js locale configuration\n// https://github.com/moment/moment/blob/develop/locale/fi.js\nvar numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n];\nfunction translate(num, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\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(num, isFuture) + ' ' + result;\n return result;\n}\nfunction verbalNumber(num, isFuture) {\n return num < 10 ? (isFuture ? numbersFuture[num] : numbersPast[num]) : num;\n}\nexport const fiLocale = {\n abbr: 'fi',\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2ZpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyw2REFBNkQ7QUFFN0QsSUFBSSxXQUFXLEdBQUcsdUVBQXVFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUNsRyxhQUFhLEdBQUc7SUFDZCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRO0lBQ2xFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztDQUMvQyxDQUFDO0FBRUosU0FBUyxTQUFTLENBQUMsR0FBVyxFQUFFLGFBQXNCLEVBQUUsR0FBVyxFQUFFLFFBQWlCO0lBQ3BGLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ1osS0FBSyxHQUFHO1lBQ04sT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUM1RCxLQUFLLElBQUk7WUFDUCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDNUMsS0FBSyxHQUFHO1lBQ04sT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQzVDLEtBQUssSUFBSTtZQUNQLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQzdDLE1BQU07UUFDUixLQUFLLEdBQUc7WUFDTixPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdkMsS0FBSyxJQUFJO1lB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UztRQUNaLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsU0FBUztLQUNkO0lBQ0Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyxPQUFPLEVBQUUsS0FBSztJQUNkLElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRSxDQUFDLEVBQUUsdUNBQXVDO1FBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUUsZ0VBQWdFO0tBQ3pFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvYmxvYi9kZXZlbG9wL2xvY2FsZS9maS5qc1xuXG52YXIgbnVtYmVyc1Bhc3QgPSAnbm9sbGEgeWtzaSBrYWtzaSBrb2xtZSBuZWxqw6Qgdmlpc2kga3V1c2kgc2VpdHNlbcOkbiBrYWhkZWtzYW4geWhkZWtzw6RuJy5zcGxpdCgnICcpLFxuICBudW1iZXJzRnV0dXJlID0gW1xuICAgICdub2xsYScsICd5aGRlbicsICdrYWhkZW4nLCAna29sbWVuJywgJ25lbGrDpG4nLCAndmlpZGVuJywgJ2t1dWRlbicsXG4gICAgbnVtYmVyc1Bhc3RbN10sIG51bWJlcnNQYXN0WzhdLCBudW1iZXJzUGFzdFs5XVxuICBdO1xuXG5mdW5jdGlvbiB0cmFuc2xhdGUobnVtOiBudW1iZXIsIHdpdGhvdXRTdWZmaXg6IGJvb2xlYW4sIGtleTogc3RyaW5nLCBpc0Z1dHVyZTogYm9vbGVhbik6IHN0cmluZyB7XG4gIHZhciByZXN1bHQgPSAnJztcbiAgc3dpdGNoIChrZXkpIHtcbiAgICBjYXNlICdzJzpcbiAgICAgIHJldHVybiBpc0Z1dHVyZSA/ICdtdXV0YW1hbiBzZWt1bm5pbicgOiAnbXV1dGFtYSBzZWt1bnRpJztcbiAgICBjYXNlICdzcyc6XG4gICAgICByZXR1cm4gaXNGdXR1cmUgPyAnc2VrdW5uaW4nIDogJ3Nla3VudGlhJztcbiAgICBjYXNlICdtJzpcbiAgICAgIHJldHVybiBpc0Z1dHVyZSA/ICdtaW51dXRpbicgOiAnbWludXV0dGknO1xuICAgIGNhc2UgJ21tJzpcbiAgICAgIHJlc3VsdCA9IGlzRnV0dXJlID8gJ21pbnV1dGluJyA6ICdtaW51dXR0aWEnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaCc6XG4gICAgICByZXR1cm4gaXNGdXR1cmUgPyAndHVubmluJyA6ICd0dW50aSc7XG4gICAgY2FzZSAnaGgnOlxuICAgICAgcmVzdWx0ID0gaXNGdXR1cmUgPyAndHVubmluJyA6ICd0dW50aWEnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZCc6XG4gICAgICByZXR1cm4gaXNGdXR1cmUgPyAncMOkaXbDpG4nIDogJ3DDpGl2w6QnO1xuICAgIGNhc2UgJ2RkJzpcbiAgICAgIHJlc3VsdCA9IGlzRnV0dXJlID8gJ3DDpGl2w6RuJyA6ICdww6RpdsOkw6QnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnTSc6XG4gICAgICByZXR1cm4gaXNGdXR1cmUgPyAna3V1a2F1ZGVuJyA6ICdrdXVrYXVzaSc7XG4gICAgY2FzZSAnTU0nOlxuICAgICAgcmVzdWx0ID0gaXNGdXR1cmUgPyAna3V1a2F1ZGVuJyA6ICdrdXVrYXV0dGEnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAneSc6XG4gICAgICByZXR1cm4gaXNGdXR1cmUgPyAndnVvZGVuJyA6ICd2dW9zaSc7XG4gICAgY2FzZSAneXknOlxuICAgICAgcmVzdWx0ID0gaXNGdXR1cmUgPyAndnVvZGVuJyA6ICd2dW90dGEnO1xuICAgICAgYnJlYWs7XG4gIH1cbiAgcmVzdWx0ID0gdmVyYmFsTnVtYmVyKG51bSwgaXNGdXR1cmUpICsgJyAnICsgcmVzdWx0O1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiB2ZXJiYWxOdW1iZXIobnVtOiBudW1iZXIsIGlzRnV0dXJlOiBib29sZWFuKSB7XG4gIHJldHVybiBudW0gPCAxMCA/IChpc0Z1dHVyZSA/IG51bWJlcnNGdXR1cmVbbnVtXSA6IG51bWJlcnNQYXN0W251bV0pIDogbnVtO1xufVxuXG5leHBvcnQgY29uc3QgZmlMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdmaScsXG4gIG1vbnRoczogJ3RhbW1pa3V1X2hlbG1pa3V1X21hYWxpc2t1dV9odWh0aWt1dV90b3Vrb2t1dV9rZXPDpGt1dV9oZWluw6RrdXVfZWxva3V1X3N5eXNrdXVfbG9rYWt1dV9tYXJyYXNrdXVfam91bHVrdXUnLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0OiAndGFtbWlfaGVsbWlfbWFhbGlzX2h1aHRpX3RvdWtvX2tlc8OkX2hlaW7DpF9lbG9fc3l5c19sb2thX21hcnJhc19qb3VsdScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXM6ICdzdW5udW50YWlfbWFhbmFudGFpX3RpaXN0YWlfa2Vza2l2aWlra29fdG9yc3RhaV9wZXJqYW50YWlfbGF1YW50YWknLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICdzdV9tYV90aV9rZV90b19wZV9sYScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICdzdV9tYV90aV9rZV90b19wZV9sYScuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0hILm1tJyxcbiAgICBMVFM6ICdISC5tbS5zcycsXG4gICAgTDogJ0RELk1NLllZWVknLFxuICAgIExMOiAnRG8gTU1NTVt0YV0gWVlZWScsXG4gICAgTExMOiAnRG8gTU1NTVt0YV0gWVlZWSwgW2tsb10gSEgubW0nLFxuICAgIExMTEw6ICdkZGRkLCBEbyBNTU1NW3RhXSBZWVlZLCBba2xvXSBISC5tbScsXG4gICAgbDogJ0QuTS5ZWVlZJyxcbiAgICBsbDogJ0RvIE1NTSBZWVlZJyxcbiAgICBsbGw6ICdEbyBNTU0gWVlZWSwgW2tsb10gSEgubW0nLFxuICAgIGxsbGw6ICdkZGQsIERvIE1NTSBZWVlZLCBba2xvXSBISC5tbSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW3TDpG7DpMOkbl0gW2tsb10gTFQnLFxuICAgIG5leHREYXk6ICdbaHVvbWVubmFdIFtrbG9dIExUJyxcbiAgICBuZXh0V2VlazogJ2RkZGQgW2tsb10gTFQnLFxuICAgIGxhc3REYXk6ICdbZWlsZW5dIFtrbG9dIExUJyxcbiAgICBsYXN0V2VlazogJ1t2aWltZV0gZGRkZFtuYV0gW2tsb10gTFQnLFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAnJXMgcMOkw6RzdMOkJyxcbiAgICBwYXN0OiAnJXMgc2l0dGVuJyxcbiAgICBzOiB0cmFuc2xhdGUsXG4gICAgc3M6IHRyYW5zbGF0ZSxcbiAgICBtOiB0cmFuc2xhdGUsXG4gICAgbW06IHRyYW5zbGF0ZSxcbiAgICBoOiB0cmFuc2xhdGUsXG4gICAgaGg6IHRyYW5zbGF0ZSxcbiAgICBkOiB0cmFuc2xhdGUsXG4gICAgZGQ6IHRyYW5zbGF0ZSxcbiAgICBNOiB0cmFuc2xhdGUsXG4gICAgTU06IHRyYW5zbGF0ZSxcbiAgICB5OiB0cmFuc2xhdGUsXG4gICAgeXk6IHRyYW5zbGF0ZVxuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn1cXC4vLFxuICBvcmRpbmFsOiAnJWQuJyxcbiAgd2Vlazoge1xuICAgIGRvdzogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95OiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\nexport const frLocale = {\n abbr: 'fr',\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\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|)/,\n ordinal(_num, period) {\n const num = Number(_num);\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 num + (num === 1 ? 'er' : '');\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 num + (num === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return num + (num === 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2ZyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyx3QkFBd0I7QUFDeEIsd0RBQXdEO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSxzRkFBc0YsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3pHLFdBQVcsRUFBRSxnRUFBZ0UsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hGLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsUUFBUSxFQUFFLHFEQUFxRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDMUUsYUFBYSxFQUFFLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDOUQsV0FBVyxFQUFFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDOUMsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixjQUFjLEVBQUU7UUFDZCxFQUFFLEVBQUUsT0FBTztRQUNYLEdBQUcsRUFBRSxVQUFVO1FBQ2YsQ0FBQyxFQUFFLFlBQVk7UUFDZixFQUFFLEVBQUUsYUFBYTtRQUNqQixHQUFHLEVBQUUsbUJBQW1CO1FBQ3hCLElBQUksRUFBRSx3QkFBd0I7S0FDL0I7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLElBQUksRUFBRSxXQUFXO1FBQ2pCLENBQUMsRUFBRSxtQkFBbUI7UUFDdEIsRUFBRSxFQUFFLGFBQWE7UUFDakIsQ0FBQyxFQUFFLFlBQVk7UUFDZixFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsV0FBVztRQUNkLEVBQUUsRUFBRSxXQUFXO1FBQ2YsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsVUFBVTtRQUNkLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFNBQVM7UUFDYixDQUFDLEVBQUUsT0FBTztRQUNWLEVBQUUsRUFBRSxRQUFRO0tBQ2I7SUFDRCxzQkFBc0IsRUFBRSxjQUFjO0lBQ3RDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsTUFBYztRQUNsQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNmLGdFQUFnRTtZQUNoRSxtQ0FBbUM7WUFDbkMsbURBQW1EO1lBQ25ELEtBQUssR0FBRztnQkFDTixPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFdkMsaUVBQWlFO1lBQ2pFLFFBQVE7WUFDUixLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxLQUFLLENBQUM7WUFDWCxLQUFLLEdBQUc7Z0JBQ04sT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXhDLGtEQUFrRDtZQUNsRCxLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRztnQkFDTixPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsQ0FBQyxFQUFFLHVDQUF1QztRQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFFLGdFQUFnRTtLQUN6RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBGcmVuY2ggW2ZyXVxuLy8hIGF1dGhvciA6IEpvaG4gRmlzY2hlciA6IGh0dHBzOi8vZ2l0aHViLmNvbS9qZnJvZmZpY2VcblxuZXhwb3J0IGNvbnN0IGZyTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnZnInLFxuICBtb250aHM6ICdqYW52aWVyX2bDqXZyaWVyX21hcnNfYXZyaWxfbWFpX2p1aW5fanVpbGxldF9hb8O7dF9zZXB0ZW1icmVfb2N0b2JyZV9ub3ZlbWJyZV9kw6ljZW1icmUnLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0OiAnamFudi5fZsOpdnIuX21hcnNfYXZyLl9tYWlfanVpbl9qdWlsLl9hb8O7dF9zZXB0Ll9vY3QuX25vdi5fZMOpYy4nLnNwbGl0KCdfJyksXG4gIG1vbnRoc1BhcnNlRXhhY3Q6IHRydWUsXG4gIHdlZWtkYXlzOiAnZGltYW5jaGVfbHVuZGlfbWFyZGlfbWVyY3JlZGlfamV1ZGlfdmVuZHJlZGlfc2FtZWRpJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0OiAnZGltLl9sdW4uX21hci5fbWVyLl9qZXUuX3Zlbi5fc2FtLicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICdkaV9sdV9tYV9tZV9qZV92ZV9zYScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNQYXJzZUV4YWN0OiB0cnVlLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnSEg6bW0nLFxuICAgIExUUzogJ0hIOm1tOnNzJyxcbiAgICBMOiAnREQvTU0vWVlZWScsXG4gICAgTEw6ICdEIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRCBNTU1NIFlZWVkgSEg6bW0nLFxuICAgIExMTEw6ICdkZGRkIEQgTU1NTSBZWVlZIEhIOm1tJ1xuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXk6ICdbQXVqb3VyZOKAmWh1aSDDoF0gTFQnLFxuICAgIG5leHREYXk6ICdbRGVtYWluIMOgXSBMVCcsXG4gICAgbmV4dFdlZWs6ICdkZGRkIFvDoF0gTFQnLFxuICAgIGxhc3REYXk6ICdbSGllciDDoF0gTFQnLFxuICAgIGxhc3RXZWVrOiAnZGRkZCBbZGVybmllciDDoF0gTFQnLFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAnZGFucyAlcycsXG4gICAgcGFzdDogJ2lsIHkgYSAlcycsXG4gICAgczogJ3F1ZWxxdWVzIHNlY29uZGVzJyxcbiAgICBzczogJyVkIHNlY29uZGVzJyxcbiAgICBtOiAndW5lIG1pbnV0ZScsXG4gICAgbW06ICclZCBtaW51dGVzJyxcbiAgICBoOiAndW5lIGhldXJlJyxcbiAgICBoaDogJyVkIGhldXJlcycsXG4gICAgZDogJ3VuIGpvdXInLFxuICAgIGRkOiAnJWQgam91cnMnLFxuICAgIE06ICd1biBtb2lzJyxcbiAgICBNTTogJyVkIG1vaXMnLFxuICAgIHk6ICd1biBhbicsXG4gICAgeXk6ICclZCBhbnMnXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfShlcnwpLyxcbiAgb3JkaW5hbChfbnVtOiBudW1iZXIsIHBlcmlvZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW0gPSBOdW1iZXIoX251bSk7XG4gICAgc3dpdGNoIChwZXJpb2QpIHtcbiAgICAgIC8vIFRPRE86IFJldHVybiAnZScgd2hlbiBkYXkgb2YgbW9udGggPiAxLiBNb3ZlIHRoaXMgY2FzZSBpbnNpZGVcbiAgICAgIC8vIGJsb2NrIGZvciBtYXNjdWxpbmUgd29yZHMgYmVsb3cuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzMzNzVcbiAgICAgIGNhc2UgJ0QnOlxuICAgICAgICByZXR1cm4gbnVtICsgKG51bSA9PT0gMSA/ICdlcicgOiAnJyk7XG5cbiAgICAgIC8vIFdvcmRzIHdpdGggbWFzY3VsaW5lIGdyYW1tYXRpY2FsIGdlbmRlcjogbW9pcywgdHJpbWVzdHJlLCBqb3VyXG4gICAgICBkZWZhdWx0OlxuICAgICAgY2FzZSAnTSc6XG4gICAgICBjYXNlICdRJzpcbiAgICAgIGNhc2UgJ0RERCc6XG4gICAgICBjYXNlICdkJzpcbiAgICAgICAgcmV0dXJuIG51bSArIChudW0gPT09IDEgPyAnZXInIDogJ2UnKTtcblxuICAgICAgLy8gV29yZHMgd2l0aCBmZW1pbmluZSBncmFtbWF0aWNhbCBnZW5kZXI6IHNlbWFpbmVcbiAgICAgIGNhc2UgJ3cnOlxuICAgICAgY2FzZSAnVyc6XG4gICAgICAgIHJldHVybiBudW0gKyAobnVtID09PSAxID8gJ3JlJyA6ICdlJyk7XG4gICAgfVxuICB9LFxuICB3ZWVrOiB7XG4gICAgZG93OiAxLCAvLyBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3k6IDQgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDR0aCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcblxuIl19","//! moment.js locale configuration\n//! locale : French Canadian [fr-ca]\n//! author : Ali Hasan : https://github.com/alihasan00\nexport const frCaLocale = {\n abbr: 'fr-ca',\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\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(_num, period) {\n const num = Number(_num);\n switch (period) {\n case 'D':\n return num + (num === 1 ? 'er' : '');\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 num + (num === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return num + (num === 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnItY2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2ZyLWNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyxvQ0FBb0M7QUFDcEMsc0RBQXNEO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZTtJQUNwQyxJQUFJLEVBQUUsT0FBTztJQUNiLE1BQU0sRUFBRSxzRkFBc0YsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3pHLFdBQVcsRUFBRSxnRUFBZ0UsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hGLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsUUFBUSxFQUFFLHFEQUFxRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDMUUsYUFBYSxFQUFFLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDOUQsV0FBVyxFQUFFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDOUMsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixjQUFjLEVBQUU7UUFDZCxFQUFFLEVBQUUsT0FBTztRQUNYLEdBQUcsRUFBRSxVQUFVO1FBQ2YsQ0FBQyxFQUFFLFlBQVk7UUFDZixFQUFFLEVBQUUsYUFBYTtRQUNqQixHQUFHLEVBQUUsbUJBQW1CO1FBQ3hCLElBQUksRUFBRSx3QkFBd0I7S0FDL0I7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLElBQUksRUFBRSxXQUFXO1FBQ2pCLENBQUMsRUFBRSxtQkFBbUI7UUFDdEIsRUFBRSxFQUFFLGFBQWE7UUFDakIsQ0FBQyxFQUFFLFlBQVk7UUFDZixFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsV0FBVztRQUNkLEVBQUUsRUFBRSxXQUFXO1FBQ2YsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsVUFBVTtRQUNkLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFNBQVM7UUFDYixDQUFDLEVBQUUsT0FBTztRQUNWLEVBQUUsRUFBRSxRQUFRO0tBQ2I7SUFDRCxzQkFBc0IsRUFBRSxnQkFBZ0I7SUFDeEMsT0FBTyxDQUFDLElBQVksRUFBRSxNQUFjO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxHQUFHO2dCQUNOLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUV2QyxpRUFBaUU7WUFDakUsUUFBUTtZQUNSLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssR0FBRztnQkFDTixPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFeEMsa0RBQWtEO1lBQ2xELEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHO2dCQUNOLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRSxDQUFDLEVBQUUsdUNBQXVDO1FBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUUsZ0VBQWdFO0tBQ3pFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEZyZW5jaCBDYW5hZGlhbiBbZnItY2FdXG4vLyEgYXV0aG9yIDogQWxpIEhhc2FuIDogaHR0cHM6Ly9naXRodWIuY29tL2FsaWhhc2FuMDBcblxuZXhwb3J0IGNvbnN0IGZyQ2FMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdmci1jYScsXG4gIG1vbnRoczogJ2phbnZpZXJfZsOpdnJpZXJfbWFyc19hdnJpbF9tYWlfanVpbl9qdWlsbGV0X2Fvw7t0X3NlcHRlbWJyZV9vY3RvYnJlX25vdmVtYnJlX2TDqWNlbWJyZScuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICdqYW52Ll9mw6l2ci5fbWFyc19hdnIuX21haV9qdWluX2p1aWwuX2Fvw7t0X3NlcHQuX29jdC5fbm92Ll9kw6ljLicuc3BsaXQoJ18nKSxcbiAgbW9udGhzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgd2Vla2RheXM6ICdkaW1hbmNoZV9sdW5kaV9tYXJkaV9tZXJjcmVkaV9qZXVkaV92ZW5kcmVkaV9zYW1lZGknLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICdkaW0uX2x1bi5fbWFyLl9tZXIuX2pldS5fdmVuLl9zYW0uJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ2RpX2x1X21hX21lX2plX3ZlX3NhJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1BhcnNlRXhhY3Q6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdISDptbScsXG4gICAgTFRTOiAnSEg6bW06c3MnLFxuICAgIEw6ICdZWVlZLU1NLUREJyxcbiAgICBMTDogJ0QgTU1NTSBZWVlZJyxcbiAgICBMTEw6ICdEIE1NTU0gWVlZWSBISDptbScsXG4gICAgTExMTDogJ2RkZGQgRCBNTU1NIFlZWVkgSEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheTogJ1tBdWpvdXJk4oCZaHVpIMOgXSBMVCcsXG4gICAgbmV4dERheTogJ1tEZW1haW4gw6BdIExUJyxcbiAgICBuZXh0V2VlazogJ2RkZGQgW8OgXSBMVCcsXG4gICAgbGFzdERheTogJ1tIaWVyIMOgXSBMVCcsXG4gICAgbGFzdFdlZWs6ICdkZGRkIFtkZXJuaWVyIMOgXSBMVCcsXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICdkYW5zICVzJyxcbiAgICBwYXN0OiAnaWwgeSBhICVzJyxcbiAgICBzOiAncXVlbHF1ZXMgc2Vjb25kZXMnLFxuICAgIHNzOiAnJWQgc2Vjb25kZXMnLFxuICAgIG06ICd1bmUgbWludXRlJyxcbiAgICBtbTogJyVkIG1pbnV0ZXMnLFxuICAgIGg6ICd1bmUgaGV1cmUnLFxuICAgIGhoOiAnJWQgaGV1cmVzJyxcbiAgICBkOiAndW4gam91cicsXG4gICAgZGQ6ICclZCBqb3VycycsXG4gICAgTTogJ3VuIG1vaXMnLFxuICAgIE1NOiAnJWQgbW9pcycsXG4gICAgeTogJ3VuIGFuJyxcbiAgICB5eTogJyVkIGFucydcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9KGVyfGV8KS8sXG4gIG9yZGluYWwoX251bTogbnVtYmVyLCBwZXJpb2Q6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtID0gTnVtYmVyKF9udW0pO1xuICAgIHN3aXRjaCAocGVyaW9kKSB7XG4gICAgICBjYXNlICdEJzpcbiAgICAgICAgcmV0dXJuIG51bSArIChudW0gPT09IDEgPyAnZXInIDogJycpO1xuXG4gICAgICAvLyBXb3JkcyB3aXRoIG1hc2N1bGluZSBncmFtbWF0aWNhbCBnZW5kZXI6IG1vaXMsIHRyaW1lc3RyZSwgam91clxuICAgICAgZGVmYXVsdDpcbiAgICAgIGNhc2UgJ00nOlxuICAgICAgY2FzZSAnUSc6XG4gICAgICBjYXNlICdEREQnOlxuICAgICAgY2FzZSAnZCc6XG4gICAgICAgIHJldHVybiBudW0gKyAobnVtID09PSAxID8gJ2VyJyA6ICdlJyk7XG5cbiAgICAgIC8vIFdvcmRzIHdpdGggZmVtaW5pbmUgZ3JhbW1hdGljYWwgZ2VuZGVyOiBzZW1haW5lXG4gICAgICBjYXNlICd3JzpcbiAgICAgIGNhc2UgJ1cnOlxuICAgICAgICByZXR1cm4gbnVtICsgKG51bSA9PT0gMSA/ICdyZScgOiAnZScpO1xuICAgIH1cbiAgfSxcbiAgd2Vlazoge1xuICAgIGRvdzogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95OiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","import { getHours, getMonth } from '../utils/date-getters';\n//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Darío Beiró : https://github.com/quinobravo\nlet monthsShortDot = 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), monthsShort = 'xan_feb_mar_abr_mai_xuñ_xul_ago_set_out_nov_dec'.split('_');\nlet monthsParse = [/^xan/i, /^feb/i, /^mar/i, /^abr/i, /^mai/i, /^xuñ/i, /^xul/i, /^ago/i, /^set/i, /^out/i, /^nov/i, /^dec/i];\nlet monthsRegex = /^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro|xan\\.?|feb\\.?|mar\\.?|abr\\.?|mai\\.?|xuñ\\.?|xul\\.?|ago\\.?|set\\.?|out\\.?|nov\\.?|dec\\.?)/i;\nexport const glLocale = {\n abbr: 'gl',\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort(date, format, isUTC) {\n if (!date) {\n return monthsShortDot;\n }\n if (/-MMM-/.test(format)) {\n return monthsShort[getMonth(date, isUTC)];\n }\n return monthsShortDot[getMonth(date, isUTC)];\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro)/i,\n monthsShortStrictRegex: /^(xan\\.?|feb\\.?|mar\\.?|abr\\.?|mai\\.?|xuñ\\.?|xul\\.?|ago\\.?|set\\.?|out\\.?|nov\\.?|dec\\.?)/i,\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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(date) {\n return '[hoxe á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextDay(date) {\n return '[mañan á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n nextWeek(date) {\n return 'dddd [á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastDay(date) {\n return '[onte á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n lastWeek(date) {\n return '[o] dddd [pasado á' + ((getHours(date) !== 1) ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'fai %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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2dsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Qsa0NBQWtDO0FBQ2xDLDBCQUEwQjtBQUMxQix3REFBd0Q7QUFFeEQsSUFBSSxjQUFjLEdBQUcsNkRBQTZELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUMzRixXQUFXLEdBQUcsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRTdFLElBQUksV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvSCxJQUFJLFdBQVcsR0FBRyxnTEFBZ0wsQ0FBQztBQUVuTSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsd0ZBQXdGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMzRyxXQUFXLENBQUMsSUFBVSxFQUFFLE1BQWMsRUFBRSxLQUFlO1FBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsV0FBVztJQUNYLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsaUJBQWlCLEVBQUUsNEZBQTRGO0lBQy9HLHNCQUFzQixFQUFFLHlGQUF5RjtJQUNqSCxXQUFXO0lBQ1gsZUFBZSxFQUFFLFdBQVc7SUFDNUIsZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixRQUFRLEVBQUUsa0RBQWtELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RSxhQUFhLEVBQUUsb0NBQW9DLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5RCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxNQUFNO1FBQ1YsR0FBRyxFQUFFLFNBQVM7UUFDZCxDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSx1QkFBdUI7UUFDM0IsR0FBRyxFQUFFLDRCQUE0QjtRQUNqQyxJQUFJLEVBQUUsa0NBQWtDO0tBQ3pDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxDQUFDLElBQVU7WUFDaEIsT0FBTyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDbEUsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFVO1lBQ2hCLE9BQU8sVUFBVSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ25FLENBQUM7UUFDRCxRQUFRLENBQUMsSUFBVTtZQUNqQixPQUFPLFNBQVMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQVU7WUFDaEIsT0FBTyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDbEUsQ0FBQztRQUNELFFBQVEsQ0FBQyxJQUFVO1lBQ2pCLE9BQU8sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDN0UsQ0FBQztRQUNELFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxRQUFRO1FBQ2QsQ0FBQyxFQUFFLGNBQWM7UUFDakIsRUFBRSxFQUFFLGFBQWE7UUFDakIsQ0FBQyxFQUFFLFdBQVc7UUFDZCxFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsV0FBVztRQUNkLEVBQUUsRUFBRSxVQUFVO1FBQ2QsQ0FBQyxFQUFFLFFBQVE7UUFDWCxFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxRQUFRO1FBQ1gsRUFBRSxFQUFFLFVBQVU7UUFDZCxDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxTQUFTO0tBQ2Q7SUFDRCxzQkFBc0IsRUFBRSxVQUFVO0lBQ2xDLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBRSxnRUFBZ0U7S0FDekU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuaW1wb3J0IHsgZ2V0SG91cnMsIGdldE1vbnRoIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEdhbGljaWFuIFtnbF1cbi8vISBhdXRob3IgOiBEYXLDrW8gQmVpcsOzIDogaHR0cHM6Ly9naXRodWIuY29tL3F1aW5vYnJhdm9cblxubGV0IG1vbnRoc1Nob3J0RG90ID0gJ3hhbi5fZmViLl9tYXIuX2Fici5fbWFpLl94dcOxLl94dWwuX2Fnby5fc2V0Ll9vdXQuX25vdi5fZGVjLicuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQgPSAneGFuX2ZlYl9tYXJfYWJyX21haV94dcOxX3h1bF9hZ29fc2V0X291dF9ub3ZfZGVjJy5zcGxpdCgnXycpO1xuXG5sZXQgbW9udGhzUGFyc2UgPSBbL154YW4vaSwgL15mZWIvaSwgL15tYXIvaSwgL15hYnIvaSwgL15tYWkvaSwgL154dcOxL2ksIC9eeHVsL2ksIC9eYWdvL2ksIC9ec2V0L2ksIC9eb3V0L2ksIC9ebm92L2ksIC9eZGVjL2ldO1xubGV0IG1vbnRoc1JlZ2V4ID0gL14oeGFuZWlyb3xmZWJyZWlyb3xtYXJ6b3xhYnJpbHxtYWlvfHh1w7FvfHh1bGxvfGFnb3N0b3xzZXRlbWJyb3xvdXR1YnJvfG5vdmVtYnJvfGRlY2VtYnJvfHhhblxcLj98ZmViXFwuP3xtYXJcXC4/fGFiclxcLj98bWFpXFwuP3x4dcOxXFwuP3x4dWxcXC4/fGFnb1xcLj98c2V0XFwuP3xvdXRcXC4/fG5vdlxcLj98ZGVjXFwuPykvaTtcblxuZXhwb3J0IGNvbnN0IGdsTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnZ2wnLFxuICBtb250aHM6ICd4YW5laXJvX2ZlYnJlaXJvX21hcnpvX2FicmlsX21haW9feHXDsW9feHVsbG9fYWdvc3RvX3NldGVtYnJvX291dHVicm9fbm92ZW1icm9fZGVjZW1icm8nLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0KGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnREb3Q7XG4gICAgfVxuXG4gICAgaWYgKC8tTU1NLS8udGVzdChmb3JtYXQpKSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnRbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9udGhzU2hvcnREb3RbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgfSxcbiAgbW9udGhzUmVnZXgsXG4gIG1vbnRoc1Nob3J0UmVnZXg6IG1vbnRoc1JlZ2V4LFxuICBtb250aHNTdHJpY3RSZWdleDogL14oeGFuZWlyb3xmZWJyZWlyb3xtYXJ6b3xhYnJpbHxtYWlvfHh1w7FvfHh1bGxvfGFnb3N0b3xzZXRlbWJyb3xvdXR1YnJvfG5vdmVtYnJvfGRlY2VtYnJvKS9pLFxuICBtb250aHNTaG9ydFN0cmljdFJlZ2V4OiAvXih4YW5cXC4/fGZlYlxcLj98bWFyXFwuP3xhYnJcXC4/fG1haVxcLj98eHXDsVxcLj98eHVsXFwuP3xhZ29cXC4/fHNldFxcLj98b3V0XFwuP3xub3ZcXC4/fGRlY1xcLj8pL2ksXG4gIG1vbnRoc1BhcnNlLFxuICBsb25nTW9udGhzUGFyc2U6IG1vbnRoc1BhcnNlLFxuICBzaG9ydE1vbnRoc1BhcnNlOiBtb250aHNQYXJzZSxcbiAgd2Vla2RheXM6ICdkb21pbmdvX2x1bnNfbWFydGVzX23DqXJjb3Jlc194b3Zlc192ZW5yZXNfc8OhYmFkbycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ2RvbS5fbHVuLl9tYXIuX23DqXIuX3hvdi5fdmVuLl9zw6FiLicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICdkb19sdV9tYV9tw6lfeG9fdmVfc8OhJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1BhcnNlRXhhY3Q6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdIOm1tJyxcbiAgICBMVFM6ICdIOm1tOnNzJyxcbiAgICBMOiAnREQvTU0vWVlZWScsXG4gICAgTEw6ICdEIFtkZV0gTU1NTSBbZGVdIFlZWVknLFxuICAgIExMTDogJ0QgW2RlXSBNTU1NIFtkZV0gWVlZWSBIOm1tJyxcbiAgICBMTExMOiAnZGRkZCwgRCBbZGVdIE1NTU0gW2RlXSBZWVlZIEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheShkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ1tob3hlIMOhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbmV4dERheShkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ1ttYcOxYW4gw6EnICsgKChnZXRIb3VycyhkYXRlKSAhPT0gMSkgPyAncycgOiAnJykgKyAnXSBMVCc7XG4gICAgfSxcbiAgICBuZXh0V2VlayhkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ2RkZGQgW8OhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbGFzdERheShkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gJ1tvbnRlIMOhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgbGFzdFdlZWsoZGF0ZTogRGF0ZSkge1xuICAgICAgcmV0dXJuICdbb10gZGRkZCBbcGFzYWRvIMOhJyArICgoZ2V0SG91cnMoZGF0ZSkgIT09IDEpID8gJ3MnIDogJycpICsgJ10gTFQnO1xuICAgIH0sXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICdlbiAlcycsXG4gICAgcGFzdDogJ2ZhaSAlcycsXG4gICAgczogJ3VucyBzZWd1bmRvcycsXG4gICAgc3M6ICclZCBzZWd1bmRvcycsXG4gICAgbTogJ3VuIG1pbnV0bycsXG4gICAgbW06ICclZCBtaW51dG9zJyxcbiAgICBoOiAndW5oYSBob3JhJyxcbiAgICBoaDogJyVkIGhvcmFzJyxcbiAgICBkOiAndW4gZMOtYScsXG4gICAgZGQ6ICclZCBkw61hcycsXG4gICAgTTogJ3VuIG1lcycsXG4gICAgTU06ICclZCBtZXNlcycsXG4gICAgeTogJ3VuIGFubycsXG4gICAgeXk6ICclZCBhbm9zJ1xuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn3Cui8sXG4gIG9yZGluYWw6ICclZMK6JyxcbiAgd2Vlazoge1xuICAgIGRvdzogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95OiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","//! 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\nexport const heLocale = {\n abbr: 'he',\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\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: '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(num) {\n if (num === 2) {\n return 'שעתיים';\n }\n return num + ' שעות';\n },\n d: 'יום',\n dd(num) {\n if (num === 2) {\n return 'יומיים';\n }\n return num + ' ימים';\n },\n M: 'חודש',\n MM(num) {\n if (num === 2) {\n return 'חודשיים';\n }\n return num + ' חודשים';\n },\n y: 'שנה',\n yy(num) {\n if (num === 2) {\n return 'שנתיים';\n }\n else if (num % 10 === 0 && num !== 10) {\n return num + ' שנה';\n }\n return num + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM(input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem(hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n }\n else if (hour < 10) {\n return 'בבוקר';\n }\n else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n }\n else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n }\n else {\n return 'בערב';\n }\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyx3QkFBd0I7QUFDeEIsbURBQW1EO0FBQ25ELDhEQUE4RDtBQUM5RCxrREFBa0Q7QUFFbEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFlO0lBQ2xDLElBQUksRUFBRSxJQUFJO0lBQ1YsTUFBTSxFQUFFLHlFQUF5RSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDNUYsV0FBVyxFQUFFLDJEQUEyRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDbkYsUUFBUSxFQUFFLHNDQUFzQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDM0QsYUFBYSxFQUFFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDaEQsV0FBVyxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3ZDLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxPQUFPO1FBQ1gsR0FBRyxFQUFFLFVBQVU7UUFDZixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxnQkFBZ0I7UUFDcEIsR0FBRyxFQUFFLHNCQUFzQjtRQUMzQixJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLENBQUMsRUFBRSxVQUFVO1FBQ2IsRUFBRSxFQUFFLFlBQVk7UUFDaEIsR0FBRyxFQUFFLGtCQUFrQjtRQUN2QixJQUFJLEVBQUUsdUJBQXVCO0tBQzlCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLGFBQWE7UUFDdEIsT0FBTyxFQUFFLFlBQVk7UUFDckIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixPQUFPLEVBQUUsY0FBYztRQUN2QixRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsU0FBUztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLENBQUMsRUFBRSxZQUFZO1FBQ2YsRUFBRSxFQUFFLFVBQVU7UUFDZCxDQUFDLEVBQUUsS0FBSztRQUNSLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLEtBQUs7UUFDUixFQUFFLENBQUMsR0FBVztZQUNaLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNkLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7WUFDRCxPQUFPLEdBQUcsR0FBRyxPQUFPLENBQUM7UUFDdkIsQ0FBQztRQUNELENBQUMsRUFBRSxLQUFLO1FBQ1IsRUFBRSxDQUFDLEdBQVc7WUFDWixJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDZCxPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1lBQ0QsT0FBTyxHQUFHLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxDQUFDLEVBQUUsTUFBTTtRQUNULEVBQUUsQ0FBQyxHQUFXO1lBQ1osSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztZQUNELE9BQU8sR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUN6QixDQUFDO1FBQ0QsQ0FBQyxFQUFFLEtBQUs7UUFDUixFQUFFLENBQUMsR0FBVztZQUNaLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNkLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7aUJBQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUN0QixDQUFDO1lBQ0QsT0FBTyxHQUFHLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLENBQUM7S0FDRjtJQUNELGFBQWEsRUFBRSwrREFBK0Q7SUFDOUUsSUFBSSxDQUFDLEtBQUs7UUFDUixPQUFPLDZCQUE2QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTztRQUM1QixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNiLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNyQixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO2FBQU0sSUFBSSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDckIsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQzdDLENBQUM7YUFBTSxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNyQixPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBIZWJyZXcgW2hlXVxuLy8hIGF1dGhvciA6IFRvbWVyIENvaGVuIDogaHR0cHM6Ly9naXRodWIuY29tL3RvbWVyXG4vLyEgYXV0aG9yIDogTW9zaGUgU2ltYW50b3YgOiBodHRwczovL2dpdGh1Yi5jb20vRGV2ZWxvcG1lbnRJTFxuLy8hIGF1dGhvciA6IFRhbCBBdGVyIDogaHR0cHM6Ly9naXRodWIuY29tL1RhbEF0ZXJcblxuZXhwb3J0IGNvbnN0IGhlTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnaGUnLFxuICBtb250aHM6ICfXmdeg15XXkNeoX9ek15HXqNeV15DXqF/Xnteo16Vf15DXpNeo15nXnF/XnteQ15lf15nXldeg15lf15nXldec15lf15DXldeS15XXodeYX9eh16TXmNee15HXqF/XkNeV16fXmNeV15HXqF/XoNeV15HXnteR16hf15PXptee15HXqCcuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICfXmdeg15XXs1/XpNeR16jXs1/Xnteo16Vf15DXpNeo17Nf157XkNeZX9eZ15XXoNeZX9eZ15XXnNeZX9eQ15XXktezX9eh16TXmNezX9eQ15XXp9ezX9eg15XXkdezX9eT16bXntezJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5czogJ9eo15DXqdeV159f16nXoNeZX9ep15zXmdep15lf16jXkdeZ16LXmV/Xl9ee15nXqdeZX9ep15nXqdeZX9ep15HXqicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ9eQ17Nf15HXs1/XktezX9eT17Nf15TXs1/XldezX9ep17MnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAn15Bf15Ff15Jf15Nf15Rf15Vf16knLnNwbGl0KCdfJyksXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdISDptbScsXG4gICAgTFRTOiAnSEg6bW06c3MnLFxuICAgIEw6ICdERC9NTS9ZWVlZJyxcbiAgICBMTDogJ0QgW9eRXU1NTU0gWVlZWScsXG4gICAgTExMOiAnRCBb15FdTU1NTSBZWVlZIEhIOm1tJyxcbiAgICBMTExMOiAnZGRkZCwgRCBb15FdTU1NTSBZWVlZIEhIOm1tJyxcbiAgICBsOiAnRC9NL1lZWVknLFxuICAgIGxsOiAnRCBNTU0gWVlZWScsXG4gICAgbGxsOiAnRCBNTU0gWVlZWSBISDptbScsXG4gICAgbGxsbDogJ2RkZCwgRCBNTU0gWVlZWSBISDptbSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW9eU15nXldedINeR1r5dTFQnLFxuICAgIG5leHREYXk6ICdb157Xl9eoINeR1r5dTFQnLFxuICAgIG5leHRXZWVrOiAnZGRkZCBb15HXqdei15RdIExUJyxcbiAgICBsYXN0RGF5OiAnW9eQ16rXnteV15wg15HWvl1MVCcsXG4gICAgbGFzdFdlZWs6ICdb15HXmdeV151dIGRkZGQgW9eU15DXl9eo15XXnyDXkdep16LXlF0gTFQnLFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAn15HXoteV15MgJXMnLFxuICAgIHBhc3Q6ICfXnNek16DXmSAlcycsXG4gICAgczogJ9ee16HXpNeoINep16DXmdeV16onLFxuICAgIHNzOiAnJWQg16nXoNeZ15XXqicsXG4gICAgbTogJ9eT16fXlCcsXG4gICAgbW06ICclZCDXk9en15XXqicsXG4gICAgaDogJ9ep16LXlCcsXG4gICAgaGgobnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgaWYgKG51bSA9PT0gMikge1xuICAgICAgICByZXR1cm4gJ9ep16LXqteZ15nXnSc7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVtICsgJyDXqdei15XXqic7XG4gICAgfSxcbiAgICBkOiAn15nXldedJyxcbiAgICBkZChudW06IG51bWJlcik6IHN0cmluZyB7XG4gICAgICBpZiAobnVtID09PSAyKSB7XG4gICAgICAgIHJldHVybiAn15nXldee15nXmdedJztcbiAgICAgIH1cbiAgICAgIHJldHVybiBudW0gKyAnINeZ157XmdedJztcbiAgICB9LFxuICAgIE06ICfXl9eV15PXqScsXG4gICAgTU0obnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgaWYgKG51bSA9PT0gMikge1xuICAgICAgICByZXR1cm4gJ9eX15XXk9ep15nXmdedJztcbiAgICAgIH1cbiAgICAgIHJldHVybiBudW0gKyAnINeX15XXk9ep15nXnSc7XG4gICAgfSxcbiAgICB5OiAn16nXoNeUJyxcbiAgICB5eShudW06IG51bWJlcik6IHN0cmluZyB7XG4gICAgICBpZiAobnVtID09PSAyKSB7XG4gICAgICAgIHJldHVybiAn16nXoNeq15nXmdedJztcbiAgICAgIH0gZWxzZSBpZiAobnVtICUgMTAgPT09IDAgJiYgbnVtICE9PSAxMCkge1xuICAgICAgICByZXR1cm4gbnVtICsgJyDXqdeg15QnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bSArICcg16nXoNeZ150nO1xuICAgIH1cbiAgfSxcbiAgbWVyaWRpZW1QYXJzZTogL9eQ15fXlFwi16Z815zXpNeg15RcItemfNeQ15fXqNeZINeU16bXlNeo15nXmdedfNec16TXoNeZINeU16bXlNeo15nXmdedfNec16TXoNeV16og15HXlden16h815HXkdeV16fXqHzXkdei16jXkS9pLFxuICBpc1BNKGlucHV0KSB7XG4gICAgcmV0dXJuIC9eKNeQ15fXlFwi16Z815DXl9eo15kg15TXpteU16jXmdeZ151815HXoteo15EpJC8udGVzdChpbnB1dCk7XG4gIH0sXG4gIG1lcmlkaWVtKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgIGlmIChob3VyIDwgNSkge1xuICAgICAgcmV0dXJuICfXnNek16DXldeqINeR15XXp9eoJztcbiAgICB9IGVsc2UgaWYgKGhvdXIgPCAxMCkge1xuICAgICAgcmV0dXJuICfXkdeR15XXp9eoJztcbiAgICB9IGVsc2UgaWYgKGhvdXIgPCAxMikge1xuICAgICAgcmV0dXJuIGlzTG93ZXIgPyAn15zXpNeg15RcItemJyA6ICfXnNek16DXmSDXlNem15TXqNeZ15nXnSc7XG4gICAgfSBlbHNlIGlmIChob3VyIDwgMTgpIHtcbiAgICAgIHJldHVybiBpc0xvd2VyID8gJ9eQ15fXlFwi16YnIDogJ9eQ15fXqNeZINeU16bXlNeo15nXmdedJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICfXkdei16jXkSc7XG4gICAgfVxuICB9XG59O1xuIl19","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\nlet symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n}, numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\nexport const hiLocale = {\n abbr: 'hi',\n months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\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: 'कुछ ही क्षण',\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(str) {\n return str.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat(str) {\n return str.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(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n }\n else if (meridiem === 'सुबह') {\n return hour;\n }\n else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n }\n else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n }\n else if (hour < 10) {\n return 'सुबह';\n }\n else if (hour < 17) {\n return 'दोपहर';\n }\n else if (hour < 20) {\n return 'शाम';\n }\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 1st is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2hpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyx1QkFBdUI7QUFDdkIsOERBQThEO0FBRTlELElBQUksU0FBUyxHQUE0QjtJQUNyQyxDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztDQUNQLEVBQ0QsU0FBUyxHQUE0QjtJQUNuQyxHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztDQUNULENBQUM7QUFFSixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsNkVBQTZFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNoRyxXQUFXLEVBQUUsNERBQTRELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNwRixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFFBQVEsRUFBRSxzREFBc0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzNFLGFBQWEsRUFBRSxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzNELFdBQVcsRUFBRSxvQkFBb0Is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QUFDO0lBQ0gsQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRSxDQUFDLEVBQUUsdUNBQXVDO1FBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUUsZ0VBQWdFO0tBQ3pFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEhpbmRpIFtoaV1cbi8vISBhdXRob3IgOiBNYXlhbmsgU2luZ2hhbCA6IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXlhbmtzaW5naGFsXG5cbmxldCBzeW1ib2xNYXA6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIDE6ICfgpacnLFxuICAgIDI6ICfgpagnLFxuICAgIDM6ICfgpaknLFxuICAgIDQ6ICfgpaonLFxuICAgIDU6ICfgpasnLFxuICAgIDY6ICfgpawnLFxuICAgIDc6ICfgpa0nLFxuICAgIDg6ICfgpa4nLFxuICAgIDk6ICfgpa8nLFxuICAgIDA6ICfgpaYnXG4gIH0sXG4gIG51bWJlck1hcDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgJ+Clpyc6ICcxJyxcbiAgICAn4KWoJzogJzInLFxuICAgICfgpaknOiAnMycsXG4gICAgJ+Clqic6ICc0JyxcbiAgICAn4KWrJzogJzUnLFxuICAgICfgpawnOiAnNicsXG4gICAgJ+ClrSc6ICc3JyxcbiAgICAn4KWuJzogJzgnLFxuICAgICfgpa8nOiAnOScsXG4gICAgJ+Clpic6ICcwJ1xuICB9O1xuXG5leHBvcnQgY29uc3QgaGlMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdoaScsXG4gIG1vbnRoczogJ+CknOCkqOCkteCksOClgF/gpKvgpLzgpLDgpLXgpLDgpYBf4KSu4KS+4KSw4KWN4KSaX+CkheCkquCljeCksOCliOCksl/gpK7gpIhf4KSc4KWC4KSoX+CknOClgeCksuCkvuCkiF/gpIXgpJfgpLjgpY3gpKRf4KS44KS/4KSk4KSu4KWN4KSs4KSwX+CkheCkleCljeCkn+ClguCkrOCksF/gpKjgpLXgpK7gpY3gpKzgpLBf4KSm4KS/4KS44KSu4KWN4KSs4KSwJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydDogJ+CknOCkqC5f4KSr4KS84KSwLl/gpK7gpL7gpLDgpY3gpJpf4KSF4KSq4KWN4KSw4KWILl/gpK7gpIhf4KSc4KWC4KSoX+CknOClgeCksi5f4KSF4KSXLl/gpLjgpL/gpKQuX+CkheCkleCljeCkn+Clgi5f4KSo4KS1Ll/gpKbgpL/gpLguJy5zcGxpdCgnXycpLFxuICBtb250aHNQYXJzZUV4YWN0OiB0cnVlLFxuICB3ZWVrZGF5czogJ+CksOCkteCkv+CkteCkvuCksF/gpLjgpYvgpK7gpLXgpL7gpLBf4KSu4KSC4KSX4KSy4KS14KS+4KSwX+CkrOClgeCkp+CkteCkvuCksF/gpJfgpYHgpLDgpYLgpLXgpL7gpLBf4KS24KWB4KSV4KWN4KSw4KS14KS+4KSwX+CktuCkqOCkv+CkteCkvuCksCcuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ+CksOCkteCkv1/gpLjgpYvgpK5f4KSu4KSC4KSX4KSyX+CkrOClgeCkp1/gpJfgpYHgpLDgpYJf4KS24KWB4KSV4KWN4KSwX+CktuCkqOCkvycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICfgpLBf4KS44KWLX+CkruCkgl/gpKzgpYFf4KSX4KWBX+CktuClgV/gpLYnLnNwbGl0KCdfJyksXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdBIGg6bW0g4KSs4KSc4KWHJyxcbiAgICBMVFM6ICdBIGg6bW06c3Mg4KSs4KSc4KWHJyxcbiAgICBMOiAnREQvTU0vWVlZWScsXG4gICAgTEw6ICdEIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRCBNTU1NIFlZWVksIEEgaDptbSDgpKzgpJzgpYcnLFxuICAgIExMTEw6ICdkZGRkLCBEIE1NTU0gWVlZWSwgQSBoOm1tIOCkrOCknOClhydcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW+CkhuCknF0gTFQnLFxuICAgIG5leHREYXk6ICdb4KSV4KSyXSBMVCcsXG4gICAgbmV4dFdlZWs6ICdkZGRkLCBMVCcsXG4gICAgbGFzdERheTogJ1vgpJXgpLJdIExUJyxcbiAgICBsYXN0V2VlazogJ1vgpKrgpL/gpJvgpLLgpYddIGRkZGQsIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJyVzIOCkruClh+CkgicsXG4gICAgcGFzdDogJyVzIOCkquCkueCksuClhycsXG4gICAgczogJ+CkleClgeCkmyDgpLngpYAg4KSV4KWN4KS34KSjJyxcbiAgICBzczogJyVkIOCkuOClh+CkleCkguCkoScsXG4gICAgbTogJ+Ckj+CklSDgpK7gpL/gpKjgpJ8nLFxuICAgIG1tOiAnJWQg4KSu4KS/4KSo4KSfJyxcbiAgICBoOiAn4KSP4KSVIOCkmOCkguCkn+CkvicsXG4gICAgaGg6ICclZCDgpJjgpILgpJ/gpYcnLFxuICAgIGQ6ICfgpI/gpJUg4KSm4KS/4KSoJyxcbiAgICBkZDogJyVkIOCkpuCkv+CkqCcsXG4gICAgTTogJ+Ckj+CklSDgpK7gpLngpYDgpKjgpYcnLFxuICAgIE1NOiAnJWQg4KSu4KS54KWA4KSo4KWHJyxcbiAgICB5OiAn4KSP4KSVIOCkteCksOCljeCktycsXG4gICAgeXk6ICclZCDgpLXgpLDgpY3gpLcnXG4gIH0sXG4gIHByZXBhcnNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1vgpafgpajgpangpargpavgpazgpa3gpa7gpa/gpaZdL2csIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgICAgcmV0dXJuIG51bWJlck1hcFttYXRjaF07XG4gICAgfSk7XG4gIH0sXG4gIHBvc3Rmb3JtYXQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvXFxkL2csIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgICAgcmV0dXJuIHN5bWJvbE1hcFttYXRjaF07XG4gICAgfSk7XG4gIH0sXG4gIC8vIEhpbmRpIG5vdGF0aW9uIGZvciBtZXJpZGllbXMgYXJlIHF1aXRlIGZ1enp5IGluIHByYWN0aWNlLiBXaGlsZSB0aGVyZSBleGlzdHNcbiAgLy8gYSByaWdpZCBub3Rpb24gb2YgYSAnUGFoYXInIGl0IGlzIG5vdCB1c2VkIGFzIHJpZ2lkbHkgaW4gbW9kZXJuIEhpbmRpLlxuICBtZXJpZGllbVBhcnNlOiAv4KSw4KS+4KSkfOCkuOClgeCkrOCkuXzgpKbgpYvgpKrgpLngpLB84KS24KS+4KSuLyxcbiAgbWVyaWRpZW1Ib3VyKGhvdXIsIG1lcmlkaWVtKSB7XG4gICAgaWYgKGhvdXIgPT09IDEyKSB7XG4gICAgICBob3VyID0gMDtcbiAgICB9XG4gICAgaWYgKG1lcmlkaWVtID09PSAn4KSw4KS+4KSkJykge1xuICAgICAgcmV0dXJuIGhvdXIgPCA0ID8gaG91ciA6IGhvdXIgKyAxMjtcbiAgICB9IGVsc2UgaWYgKG1lcmlkaWVtID09PSAn4KS44KWB4KSs4KS5Jykge1xuICAgICAgcmV0dXJuIGhvdXI7XG4gICAgfSBlbHNlIGlmIChtZXJpZGllbSA9PT0gJ+CkpuCli+CkquCkueCksCcpIHtcbiAgICAgIHJldHVybiBob3VyID49IDEwID8gaG91ciA6IGhvdXIgKyAxMjtcbiAgICB9IGVsc2UgaWYgKG1lcmlkaWVtID09PSAn4KS24KS+4KSuJykge1xuICAgICAgcmV0dXJuIGhvdXIgKyAxMjtcbiAgICB9XG4gIH0sXG4gIG1lcmlkaWVtKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgIGlmIChob3VyIDwgNCkge1xuICAgICAgcmV0dXJuICfgpLDgpL7gpKQnO1xuICAgIH0gZWxzZSBpZiAoaG91ciA8IDEwKSB7XG4gICAgICByZXR1cm4gJ+CkuOClgeCkrOCkuSc7XG4gICAgfSBlbHNlIGlmIChob3VyIDwgMTcpIHtcbiAgICAgIHJldHVybiAn4KSm4KWL4KSq4KS54KSwJztcbiAgICB9IGVsc2UgaWYgKGhvdXIgPCAyMCkge1xuICAgICAgcmV0dXJuICfgpLbgpL7gpK4nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ+CksOCkvuCkpCc7XG4gICAgfVxuICB9LFxuICB3ZWVrOiB7XG4gICAgZG93OiAwLCAvLyBTdW5kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3k6IDYgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDFzdCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcbiJdfQ==","import { getDayOfWeek } from '../units/day-of-week';\n//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\nlet weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction translate(num, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + ((isFuture || withoutSuffix) ? ' másodperc' : ' 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}\nfunction week(date, isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[getDayOfWeek(date)] + '] LT[-kor]';\n}\nexport const huLocale = {\n abbr: 'hu',\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\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(input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n }\n else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek(date) {\n return week(date, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek(date) {\n return week(date, 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2h1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxrQ0FBa0M7QUFDbEMsMkJBQTJCO0FBQzNCLDBEQUEwRDtBQUUxRCxJQUFJLFdBQVcsR0FBRywrREFBK0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0YsU0FBUyxTQUFTLENBQUMsR0FBVyxFQUFFLGFBQXNCLEVBQUUsR0FBVyxFQUFFLFFBQWlCO0lBQ3BGLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDWixLQUFLLEdBQUc7WUFDTixPQUFPLENBQUMsUUFBUSxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFDaEYsS0FBSyxJQUFJO1lBQ1AsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxLQUFLLEdBQUc7WUFDTixPQUFPLEtBQUssR0FBRyxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEUsS0FBSyxJQUFJO1lBQ1AsT0FBTyxHQUFHLEdBQUcsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssR0FBRztZQUNOLE9BQU8sS0FBSyxHQUFHLENBQUMsUUFBUSxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRSxLQUFLLElBQUk7WUFDUCxPQUFP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LEVBQUcsbUJBQW1CO1FBQzdCLFFBQVEsQ0FBRSxJQUFVO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxFQUFHLG1CQUFtQjtRQUM3QixRQUFRLENBQUUsSUFBVTtZQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELFFBQVEsRUFBRyxHQUFHO0tBQ2Y7SUFDRCxZQUFZLEVBQUc7UUFDYixNQUFNLEVBQUcsVUFBVTtRQUNuQixJQUFJLEVBQUcsSUFBSTtRQUNYLENBQUMsRUFBRyxTQUFTO1FBQ2IsRUFBRSxFQUFHLFNBQVM7UUFDZCxDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxTQUFTO1FBQ2QsQ0FBQyxFQUFHLFNBQVM7UUFDYixFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxTQUFTO1FBQ2IsRUFBRSxFQUFHLFNBQVM7UUFDZCxDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxTQUFTO1FBQ2QsQ0FBQyxFQUFHLFNBQVM7UUFDYixFQUFFLEVBQUcsU0FBUztLQUNmO0lBQ0Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyxPQUFPLEVBQUcsS0FBSztJQUNmLElBQUksRUFBRztRQUNMLEdBQUcsRUFBRyxDQUFDLEVBQUUsdUNBQXVDO1FBQ2hELEdBQUcsRUFBRyxDQUFDLENBQUUsZ0VBQWdFO0tBQzFFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGdldERheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEh1bmdhcmlhbiBbaHVdXG4vLyEgYXV0aG9yIDogQWRhbSBCcnVubmVyIDogaHR0cHM6Ly9naXRodWIuY29tL2FkYW1icnVubmVyXG5cbmxldCB3ZWVrRW5kaW5ncyA9ICd2YXPDoXJuYXAgaMOpdGbFkW4ga2VkZGVuIHN6ZXJkw6FuIGNzw7x0w7ZydMO2a8O2biBww6ludGVrZW4gc3pvbWJhdG9uJy5zcGxpdCgnICcpO1xuZnVuY3Rpb24gdHJhbnNsYXRlKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBrZXk6IHN0cmluZywgaXNGdXR1cmU6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBzd2l0Y2ggKGtleSkge1xuICAgIGNhc2UgJ3MnOlxuICAgICAgcmV0dXJuIChpc0Z1dHVyZSB8fCB3aXRob3V0U3VmZml4KSA/ICduw6low6FueSBtw6Fzb2RwZXJjJyA6ICduw6low6FueSBtw6Fzb2RwZXJjZSc7XG4gICAgY2FzZSAnc3MnOlxuICAgICAgcmV0dXJuIG51bSArICgoaXNGdXR1cmUgfHwgd2l0aG91dFN1ZmZpeCkgPyAnIG3DoXNvZHBlcmMnIDogJyBtw6Fzb2RwZXJjZScpO1xuICAgIGNhc2UgJ20nOlxuICAgICAgcmV0dXJuICdlZ3knICsgKGlzRnV0dXJlIHx8IHdpdGhvdXRTdWZmaXggPyAnIHBlcmMnIDogJyBwZXJjZScpO1xuICAgIGNhc2UgJ21tJzpcbiAgICAgIHJldHVybiBudW0gKyAoaXNGdXR1cmUgfHwgd2l0aG91dFN1ZmZpeCA/ICcgcGVyYycgOiAnIHBlcmNlJyk7XG4gICAgY2FzZSAnaCc6XG4gICAgICByZXR1cm4gJ2VneScgKyAoaXNGdXR1cmUgfHwgd2l0aG91dFN1ZmZpeCA/ICcgw7NyYScgOiAnIMOzcsOhamEnKTtcbiAgICBjYXNlICdoaCc6XG4gICAgICByZXR1cm4gbnVtICsgKGlzRnV0dXJlIHx8IHdpdGhvdXRTdWZmaXggPyAnIMOzcmEnIDogJyDDs3LDoWphJyk7XG4gICAgY2FzZSAnZCc6XG4gICAgICByZXR1cm4gJ2VneScgKyAoaXNGdXR1cmUgfHwgd2l0aG91dFN1ZmZpeCA/ICcgbmFwJyA6ICcgbmFwamEnKTtcbiAgICBjYXNlICdkZCc6XG4gICAgICByZXR1cm4gbnVtICsgKGlzRnV0dXJlIHx8IHdpdGhvdXRTdWZmaXggPyAnIG5hcCcgOiAnIG5hcGphJyk7XG4gICAgY2FzZSAnTSc6XG4gICAgICByZXR1cm4gJ2VneScgKyAoaXNGdXR1cmUgfHwgd2l0aG91dFN1ZmZpeCA/ICcgaMOzbmFwJyA6ICcgaMOzbmFwamEnKTtcbiAgICBjYXNlICdNTSc6XG4gICAgICByZXR1cm4gbnVtICsgKGlzRnV0dXJlIHx8IHdpdGhvdXRTdWZmaXggPyAnIGjDs25hcCcgOiAnIGjDs25hcGphJyk7XG4gICAgY2FzZSAneSc6XG4gICAgICByZXR1cm4gJ2VneScgKyAoaXNGdXR1cmUgfHwgd2l0aG91dFN1ZmZpeCA/ICcgw6l2JyA6ICcgw6l2ZScpO1xuICAgIGNhc2UgJ3l5JzpcbiAgICAgIHJldHVybiBudW0gKyAoaXNGdXR1cmUgfHwgd2l0aG91dFN1ZmZpeCA/ICcgw6l2JyA6ICcgw6l2ZScpO1xuICB9XG4gIHJldHVybiAnJztcbn1cbmZ1bmN0aW9uIHdlZWsoZGF0ZTogRGF0ZSwgaXNGdXR1cmU6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIChpc0Z1dHVyZSA/ICcnIDogJ1ttw7psdF0gJykgKyAnWycgKyB3ZWVrRW5kaW5nc1tnZXREYXlPZldlZWsoZGF0ZSldICsgJ10gTFRbLWtvcl0nO1xufVxuXG5leHBvcnQgY29uc3QgaHVMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdodScsXG4gIG1vbnRocyA6ICdqYW51w6FyX2ZlYnJ1w6FyX23DoXJjaXVzX8OhcHJpbGlzX23DoWp1c19qw7puaXVzX2rDumxpdXNfYXVndXN6dHVzX3N6ZXB0ZW1iZXJfb2t0w7NiZXJfbm92ZW1iZXJfZGVjZW1iZXInLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0IDogJ2phbl9mZWJfbcOhcmNfw6Fwcl9tw6FqX2rDum5fasO6bF9hdWdfc3plcHRfb2t0X25vdl9kZWMnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzIDogJ3Zhc8Ohcm5hcF9ow6l0ZsWRX2tlZGRfc3plcmRhX2Nzw7x0w7ZydMO2a19ww6ludGVrX3N6b21iYXQnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQgOiAndmFzX2jDqXRfa2VkZF9zemVfY3PDvHRfcMOpbl9zem8nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluIDogJ3ZfaF9rX3N6ZV9jc19wX3N6bycuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQgOiB7XG4gICAgTFQgOiAnSDptbScsXG4gICAgTFRTIDogJ0g6bW06c3MnLFxuICAgIEwgOiAnWVlZWS5NTS5ERC4nLFxuICAgIExMIDogJ1lZWVkuIE1NTU0gRC4nLFxuICAgIExMTCA6ICdZWVlZLiBNTU1NIEQuIEg6bW0nLFxuICAgIExMTEwgOiAnWVlZWS4gTU1NTSBELiwgZGRkZCBIOm1tJ1xuICB9LFxuICBtZXJpZGllbVBhcnNlOiAvZGV8ZHUvaSxcbiAgaXNQTSAoaW5wdXQpIHtcbiAgICByZXR1cm4gaW5wdXQuY2hhckF0KDEpLnRvTG93ZXJDYXNlKCkgPT09ICd1JztcbiAgfSxcbiAgbWVyaWRpZW0gKGhvdXJzLCBtaW51dGVzLCBpc0xvd2VyKSB7XG4gICAgaWYgKGhvdXJzIDwgMTIpIHtcbiAgICAgIHJldHVybiBpc0xvd2VyID09PSB0cnVlID8gJ2RlJyA6ICdERSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBpc0xvd2VyID09PSB0cnVlID8gJ2R1JyA6ICdEVSc7XG4gICAgfVxuICB9LFxuICBjYWxlbmRhciA6IHtcbiAgICBzYW1lRGF5IDogJ1ttYV0gTFRbLWtvcl0nLFxuICAgIG5leHREYXkgOiAnW2hvbG5hcF0gTFRbLWtvcl0nLFxuICAgIG5leHRXZWVrIChkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gd2VlayhkYXRlLCB0cnVlKTtcbiAgICB9LFxuICAgIGxhc3REYXkgOiAnW3RlZ25hcF0gTFRbLWtvcl0nLFxuICAgIGxhc3RXZWVrIChkYXRlOiBEYXRlKSB7XG4gICAgICByZXR1cm4gd2VlayhkYXRlLCBmYWxzZSk7XG4gICAgfSxcbiAgICBzYW1lRWxzZSA6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWUgOiB7XG4gICAgZnV0dXJlIDogJyVzIG3Dumx2YScsXG4gICAgcGFzdCA6ICclcycsXG4gICAgcyA6IHRyYW5zbGF0ZSxcbiAgICBzcyA6IHRyYW5zbGF0ZSxcbiAgICBtIDogdHJhbnNsYXRlLFxuICAgIG1tIDogdHJhbnNsYXRlLFxuICAgIGggOiB0cmFuc2xhdGUsXG4gICAgaGggOiB0cmFuc2xhdGUsXG4gICAgZCA6IHRyYW5zbGF0ZSxcbiAgICBkZCA6IHRyYW5zbGF0ZSxcbiAgICBNIDogdHJhbnNsYXRlLFxuICAgIE1NIDogdHJhbnNsYXRlLFxuICAgIHkgOiB0cmFuc2xhdGUsXG4gICAgeXkgOiB0cmFuc2xhdGVcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9XFwuLyxcbiAgb3JkaW5hbCA6ICclZC4nLFxuICB3ZWVrIDoge1xuICAgIGRvdyA6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveSA6IDQgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDR0aCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcbiJdfQ==","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Danijel Grmec : https://github.com/cobaltsis\nexport const hrLocale = {\n abbr: 'hr',\n months: 'Siječanj_Veljača_Ožujak_Travanj_Svibanj_Lipanj_Srpanj_Kolovoz_Rujan_Listopad_Studeni_Prosinac'.split('_'),\n monthsShort: 'Sij_Velj_Ožu_Tra_Svi_Lip_Srp_Kol_Ruj_Lis_Stu_Pro'.split('_'),\n weekdays: 'Nedjelja_Ponedjeljak_Utorak_Srijeda_Četvrtak_Petak_Subota'.split('_'),\n weekdaysShort: 'Ned_Pon_Uto_Sri_Čet_Pet_Sub'.split('_'),\n weekdaysMin: 'Ne_Po_Ut_Sr_Če_Pe_Su'.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: '[Danas u] LT',\n nextDay: '[Sutra u] LT',\n nextWeek: 'dddd [u] LT',\n lastDay: '[Jučer u] LT',\n lastWeek: '[Zadnji] dddd [u] LT',\n sameElse: 'L'\n },\n invalidDate: 'Neispravan datum',\n relativeTime: {\n future: 'za %s',\n past: '%s prije',\n s: 'nekoliko sekundi',\n ss: '%d sekundi',\n m: 'minuta',\n mm: '%d minuta',\n h: 'sat',\n hh: '%d sati',\n d: 'dan',\n dd: '%d dana',\n M: 'mjesec',\n MM: '%d mjeseci',\n y: 'godina',\n yy: '%d godina'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal(_num) {\n const num = Number(_num);\n const b = num % 10, output = (~~(num % 100 / 10) === 1) ? '.' :\n (b === 1) ? '.' :\n (b === 2) ? '.' :\n (b === 3) ? '.' : '.';\n return num + 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2hyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQywwQkFBMEI7QUFDMUIseURBQXlEO0FBRXpELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSwrRkFBK0YsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2xILFdBQVcsRUFBRSxrREFBa0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFFLFFBQVEsRUFBRSwyREFBMkQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2hGLGFBQWEsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzlDLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxPQUFPO1FBQ1gsR0FBRyxFQUFFLFVBQVU7UUFDZixDQUFDLEVBQUUsYUFBYTtRQUNoQixFQUFFLEVBQUUsYUFBYTtRQUNqQixHQUFHLEVBQUUsbUJBQW1CO1FBQ3hCLElBQUksRUFBRSx5QkFBeUI7S0FDaEM7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsY0FBYztRQUN2QixPQUFPLEVBQUUsY0FBYztRQUN2QixRQUFRLEVBQUUsYUFBYTtRQUN2QixPQUFPLEVBQUUsY0FBYztRQUN2QixRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLFVBQVU7UUFDaEIsQ0FBQyxFQUFFLGtCQUFrQjtRQUNyQixFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxXQUFXO1FBQ2YsQ0FBQyxFQUFFLEtBQUs7UUFDUixFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxLQUFLO1FBQ1IsRUFBRSxFQUFFLFNBQVM7UUFDYixDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxZQUFZO1FBQ2hCLENBQUMsRUFBRSxRQUFRO1FBQ1gsRUFBRSxFQUFFLFdBQVc7S0FDaEI7SUFDRCxzQkFBc0IsRUFBRSxzQkFBc0I7SUFDOUMsT0FBTyxDQUFDLElBQVk7UUFDbEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQ2hCLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlCLE9BQU8sR0FBRyxHQUFHLE1BQU0sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBRSxnRUFBZ0U7S0FDekU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogQ3JvYXRpYW4gW2hyXVxuLy8hIGF1dGhvciA6IERhbmlqZWwgR3JtZWMgOiBodHRwczovL2dpdGh1Yi5jb20vY29iYWx0c2lzXG5cbmV4cG9ydCBjb25zdCBockxvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ2hyJyxcbiAgbW9udGhzOiAnU2lqZcSNYW5qX1ZlbGphxI1hX0/FvnVqYWtfVHJhdmFual9TdmliYW5qX0xpcGFual9TcnBhbmpfS29sb3Zvel9SdWphbl9MaXN0b3BhZF9TdHVkZW5pX1Byb3NpbmFjJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydDogJ1Npal9WZWxqX0/FvnVfVHJhX1N2aV9MaXBfU3JwX0tvbF9SdWpfTGlzX1N0dV9Qcm8nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzOiAnTmVkamVsamFfUG9uZWRqZWxqYWtfVXRvcmFrX1NyaWplZGFfxIxldHZydGFrX1BldGFrX1N1Ym90YScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ05lZF9Qb25fVXRvX1NyaV/EjGV0X1BldF9TdWInLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAnTmVfUG9fVXRfU3JfxIxlX1BlX1N1Jy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnSEg6bW0nLFxuICAgIExUUzogJ0hIOm1tOnNzJyxcbiAgICBMOiAnREQuTU0uWVlZWS4nLFxuICAgIExMOiAnRCBNTU1NIFlZWVknLFxuICAgIExMTDogJ0QgTU1NTSBZWVlZIEhIOm1tJyxcbiAgICBMTExMOiAnZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheTogJ1tEYW5hcyB1XSBMVCcsXG4gICAgbmV4dERheTogJ1tTdXRyYSB1XSBMVCcsXG4gICAgbmV4dFdlZWs6ICdkZGRkIFt1XSBMVCcsXG4gICAgbGFzdERheTogJ1tKdcSNZXIgdV0gTFQnLFxuICAgIGxhc3RXZWVrOiAnW1phZG5qaV0gZGRkZCBbdV0gTFQnLFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgaW52YWxpZERhdGU6ICdOZWlzcHJhdmFuIGRhdHVtJyxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAnemEgJXMnLFxuICAgIHBhc3Q6ICclcyBwcmlqZScsXG4gICAgczogJ25la29saWtvIHNla3VuZGknLFxuICAgIHNzOiAnJWQgc2VrdW5kaScsXG4gICAgbTogJ21pbnV0YScsXG4gICAgbW06ICclZCBtaW51dGEnLFxuICAgIGg6ICdzYXQnLFxuICAgIGhoOiAnJWQgc2F0aScsXG4gICAgZDogJ2RhbicsXG4gICAgZGQ6ICclZCBkYW5hJyxcbiAgICBNOiAnbWplc2VjJyxcbiAgICBNTTogJyVkIG1qZXNlY2knLFxuICAgIHk6ICdnb2RpbmEnLFxuICAgIHl5OiAnJWQgZ29kaW5hJ1xuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn0oc3R8bmR8cmR8dGgpLyxcbiAgb3JkaW5hbChfbnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bSA9IE51bWJlcihfbnVtKTtcbiAgICBjb25zdCBiID0gbnVtICUgMTAsXG4gICAgICBvdXRwdXQgPSAofn4obnVtICUgMTAwIC8gMTApID09PSAxKSA/ICcuJyA6XG4gICAgICAgIChiID09PSAxKSA/ICcuJyA6XG4gICAgICAgICAgKGIgPT09IDIpID8gJy4nIDpcbiAgICAgICAgICAgIChiID09PSAzKSA/ICcuJyA6ICcuJztcbiAgICByZXR1cm4gbnVtICsgb3V0cHV0O1xuICB9LFxuICB3ZWVrOiB7XG4gICAgZG93OiAxLCAvLyBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3k6IDQgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDR0aCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcbiJdfQ==","//! moment.js locale configuration\n//! locale : Indonesia [id]\n//! author : Romy Kusuma : https://github.com/rkusuma\n//! reference: https://github.com/moment/moment/blob/develop/locale/id.js\nexport const idLocale = {\n abbr: 'id',\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_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(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n }\n else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n }\n else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n }\n else if (hours < 15) {\n return 'siang';\n }\n else if (hours < 19) {\n return 'sore';\n }\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: 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2lkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQywyQkFBMkI7QUFDM0IscURBQXFEO0FBQ3JELHlFQUF5RTtBQUV6RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUcsd0ZBQXdGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM1RyxXQUFXLEVBQUcsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxRSxRQUFRLEVBQUcsNENBQTRDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNsRSxhQUFhLEVBQUcsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN4RCxXQUFXLEVBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMvQyxjQUFjLEVBQUc7UUFDZixFQUFFLEVBQUcsT0FBTztRQUNaLEdBQUcsRUFBRyxVQUFVO1FBQ2hCLENBQUMsRUFBRyxZQUFZO1FBQ2hCLEVBQUUsRUFBRyxhQUFhO1FBQ2xCLEdBQUcsRUFBRywyQkFBMkI7UUFDakMsSUFBSSxFQUFHLGlDQUFpQztLQUN6QztJQUNELGFBQWEsRUFBRSx1QkFBdUI7SUFDdEMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRO1FBQ3pCLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLElBQUksR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sSUFBSSxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDaEMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkMsQ0FBQzthQUFNLElBQUksUUFBUSxLQUFLLE1BQU0sSUFBSSxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdkQsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTztRQUM5QixJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNmLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUN0QixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO2FBQU0sSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDdEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUNELFFBQVEsRUFBRztRQUNULE9BQU8sRUFBRyxxQkFBcUI7UUFDL0IsT0FBTyxFQUFHLGtCQUFrQjtRQUM1QixRQUFRLEVBQUcsaUJBQWlCO1FBQzVCLE9BQU8sRUFBRyxvQkFBb0I7UUFDOUIsUUFBUSxFQUFHLHNCQUFzQjtRQUNqQyxRQUFRLEVBQUcsR0FBRztLQUNmO0lBQ0QsWUFBWSxFQUFHO1FBQ2IsTUFBTSxFQUFHLFVBQVU7UUFDbkIsSUFBSSxFQUFHLGNBQWM7UUFDckIsQ0FBQyxFQUFHLGdCQUFnQjtRQUNwQixFQUFFLEVBQUcsVUFBVTtRQUNmLENBQUMsRUFBRyxTQUFTO1FBQ2IsRUFBRSxFQUFHLFVBQVU7UUFDZixDQUFDLEVBQUcsT0FBTztRQUNYLEVBQUUsRUFBRyxRQUFRO1FBQ2IsQ0FBQyxFQUFHLFFBQVE7UUFDWixFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxTQUFTO1FBQ2IsRUFBRSxFQUFHLFVBQVU7UUFDZixDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxVQUFVO0tBQ2hCO0lBQ0QsSUFBSSxFQUFHO1FBQ0wsR0FBRyxFQUFHLENBQUMsRUFBRSx1Q0FBdUM7UUFDaEQsR0FBRyxFQUFHLENBQUMsQ0FBRSxnRUFBZ0U7S0FDMUU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogSW5kb25lc2lhIFtpZF1cbi8vISBhdXRob3IgOiBSb215IEt1c3VtYSA6IGh0dHBzOi8vZ2l0aHViLmNvbS9ya3VzdW1hXG4vLyEgcmVmZXJlbmNlOiBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9ibG9iL2RldmVsb3AvbG9jYWxlL2lkLmpzXG5cbmV4cG9ydCBjb25zdCBpZExvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ2lkJyxcbiAgbW9udGhzIDogJ0phbnVhcmlfRmVicnVhcmlfTWFyZXRfQXByaWxfTWVpX0p1bmlfSnVsaV9BZ3VzdHVzX1NlcHRlbWJlcl9Pa3RvYmVyX05vdmVtYmVyX0Rlc2VtYmVyJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydCA6ICdKYW5fRmViX01hcl9BcHJfTWVpX0p1bl9KdWxfQWdzX1NlcF9Pa3RfTm92X0Rlcycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXMgOiAnTWluZ2d1X1NlbmluX1NlbGFzYV9SYWJ1X0thbWlzX0p1bWF0X1NhYnR1Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0IDogJ01pbl9TZW5fU2VsX1JhYl9LYW1fSnVtX1NhYicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW4gOiAnTWdfU25fU2xfUmJfS21fSm1fU2InLnNwbGl0KCdfJyksXG4gIGxvbmdEYXRlRm9ybWF0IDoge1xuICAgIExUIDogJ0hILm1tJyxcbiAgICBMVFMgOiAnSEgubW0uc3MnLFxuICAgIEwgOiAnREQvTU0vWVlZWScsXG4gICAgTEwgOiAnRCBNTU1NIFlZWVknLFxuICAgIExMTCA6ICdEIE1NTU0gWVlZWSBbcHVrdWxdIEhILm1tJyxcbiAgICBMTExMIDogJ2RkZGQsIEQgTU1NTSBZWVlZIFtwdWt1bF0gSEgubW0nXG4gIH0sXG4gIG1lcmlkaWVtUGFyc2U6IC9wYWdpfHNpYW5nfHNvcmV8bWFsYW0vLFxuICBtZXJpZGllbUhvdXIoaG91ciwgbWVyaWRpZW0pIHtcbiAgICBpZiAoaG91ciA9PT0gMTIpIHtcbiAgICAgIGhvdXIgPSAwO1xuICAgIH1cbiAgICBpZiAobWVyaWRpZW0gPT09ICdwYWdpJykge1xuICAgICAgcmV0dXJuIGhvdXI7XG4gICAgfSBlbHNlIGlmIChtZXJpZGllbSA9PT0gJ3NpYW5nJykge1xuICAgICAgcmV0dXJuIGhvdXIgPj0gMTEgPyBob3VyIDogaG91ciArIDEyO1xuICAgIH0gZWxzZSBpZiAobWVyaWRpZW0gPT09ICdzb3JlJyB8fCBtZXJpZGllbSA9PT0gJ21hbGFtJykge1xuICAgICAgcmV0dXJuIGhvdXIgKyAxMjtcbiAgICB9XG4gIH0sXG4gIG1lcmlkaWVtKGhvdXJzLCBtaW51dGVzLCBpc0xvd2VyKSB7XG4gICAgaWYgKGhvdXJzIDwgMTEpIHtcbiAgICAgIHJldHVybiAncGFnaSc7XG4gICAgfSBlbHNlIGlmIChob3VycyA8IDE1KSB7XG4gICAgICByZXR1cm4gJ3NpYW5nJztcbiAgICB9IGVsc2UgaWYgKGhvdXJzIDwgMTkpIHtcbiAgICAgIHJldHVybiAnc29yZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnbWFsYW0nO1xuICAgIH1cbiAgfSxcbiAgY2FsZW5kYXIgOiB7XG4gICAgc2FtZURheSA6ICdbSGFyaSBpbmkgcHVrdWxdIExUJyxcbiAgICBuZXh0RGF5IDogJ1tCZXNvayBwdWt1bF0gTFQnLFxuICAgIG5leHRXZWVrIDogJ2RkZGQgW3B1a3VsXSBMVCcsXG4gICAgbGFzdERheSA6ICdbS2VtYXJpbiBwdWt1bF0gTFQnLFxuICAgIGxhc3RXZWVrIDogJ2RkZGQgW2xhbHUgcHVrdWxdIExUJyxcbiAgICBzYW1lRWxzZSA6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWUgOiB7XG4gICAgZnV0dXJlIDogJ2RhbGFtICVzJyxcbiAgICBwYXN0IDogJyVzIHlhbmcgbGFsdScsXG4gICAgcyA6ICdiZWJlcmFwYSBkZXRpaycsXG4gICAgc3MgOiAnJWQgZGV0aWsnLFxuICAgIG0gOiAnc2VtZW5pdCcsXG4gICAgbW0gOiAnJWQgbWVuaXQnLFxuICAgIGggOiAnc2VqYW0nLFxuICAgIGhoIDogJyVkIGphbScsXG4gICAgZCA6ICdzZWhhcmknLFxuICAgIGRkIDogJyVkIGhhcmknLFxuICAgIE0gOiAnc2VidWxhbicsXG4gICAgTU0gOiAnJWQgYnVsYW4nLFxuICAgIHkgOiAnc2V0YWh1bicsXG4gICAgeXkgOiAnJWQgdGFodW4nXG4gIH0sXG4gIHdlZWsgOiB7XG4gICAgZG93IDogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95IDogNyAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gMXN0IGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuXG4iXX0=","import { getDayOfWeek } from '../units/day-of-week';\n//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\nexport const itLocale = {\n abbr: 'it',\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\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 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(date) {\n switch (getDayOfWeek(date)) {\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(num) {\n return ((/^[0-9].+$/).test(num.toString(10)) ? 'tra' : 'in') + ' ' + num;\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxrQ0FBa0M7QUFDbEMseUJBQXlCO0FBQ3pCLCtDQUErQztBQUMvQywwREFBMEQ7QUFFMUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFlO0lBQ2xDLElBQUksRUFBRSxJQUFJO0lBQ1YsTUFBTSxFQUFFLCtGQUErRixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDbEgsV0FBVyxFQUFFLGlEQUFpRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDekUsUUFBUSxFQUFFLDBEQUEwRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDL0UsYUFBYSxFQUFFLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDdkQsV0FBVyxFQUFFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDOUMsY0FBYyxFQUFFO1FBQ2QsRUFBRSxFQUFFLE9BQU87UUFDWCxHQUFHLEVBQUUsVUFBVTtRQUNmLENBQUMsRUFBRSxZQUFZO1FBQ2YsRUFBRSxFQUFFLGFBQWE7UUFDakIsR0FBRyxFQUFFLG1CQUFtQjtRQUN4QixJQUFJLEVBQUUsd0JBQXdCO0tBQy9CO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixRQUFRLENBQUMsSUFBVTtZQUNqQixRQUFRLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMzQixLQUFLLENBQUM7b0JBQ0osT0FBTyw0QkFBNEIsQ0FBQztnQkFDdEM7b0JBQ0UsT0FBTyw0QkFBNEIsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztRQUNELFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLENBQUMsR0FBVztZQUNoQixPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDM0UsQ0FBQztRQUNELElBQUksRUFBRSxPQUFPO1FBQ2IsQ0FBQyxFQUFFLGdCQUFnQjtRQUNuQixFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsV0FBVztRQUNkLEVBQUUsRUFBRSxXQUFXO1FBQ2YsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsUUFBUTtRQUNaLENBQUMsRUFBRSxXQUFXO1FBQ2QsRUFBRSxFQUFFLFdBQVc7UUFDZixDQUFDLEVBQUUsU0FBUztRQUNaLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsU0FBUztLQUNkO0lBQ0Qsc0JBQXNCLEVBQUUsVUFBVTtJQUNsQyxPQUFPLEVBQUUsS0FBSztJQUNkLElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRSxDQUFDLEVBQUUsdUNBQXVDO1FBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUUsZ0VBQWdFO0tBQ3pFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGdldERheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEl0YWxpYW4gW2l0XVxuLy8hIGF1dGhvciA6IExvcmVuem8gOiBodHRwczovL2dpdGh1Yi5jb20vYWxpZW1cbi8vISBhdXRob3I6IE1hdHRpYSBMYXJlbnRpczogaHR0cHM6Ly9naXRodWIuY29tL25vc3RhbGdpYXpcblxuZXhwb3J0IGNvbnN0IGl0TG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnaXQnLFxuICBtb250aHM6ICdnZW5uYWlvX2ZlYmJyYWlvX21hcnpvX2FwcmlsZV9tYWdnaW9fZ2l1Z25vX2x1Z2xpb19hZ29zdG9fc2V0dGVtYnJlX290dG9icmVfbm92ZW1icmVfZGljZW1icmUnLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0OiAnZ2VuX2ZlYl9tYXJfYXByX21hZ19naXVfbHVnX2Fnb19zZXRfb3R0X25vdl9kaWMnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzOiAnZG9tZW5pY2FfbHVuZWTDrF9tYXJ0ZWTDrF9tZXJjb2xlZMOsX2dpb3ZlZMOsX3ZlbmVyZMOsX3NhYmF0bycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ2RvbV9sdW5fbWFyX21lcl9naW9fdmVuX3NhYicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICdkb19sdV9tYV9tZV9naV92ZV9zYScuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0hIOm1tJyxcbiAgICBMVFM6ICdISDptbTpzcycsXG4gICAgTDogJ0REL01NL1lZWVknLFxuICAgIExMOiAnRCBNTU1NIFlZWVknLFxuICAgIExMTDogJ0QgTU1NTSBZWVlZIEhIOm1tJyxcbiAgICBMTExMOiAnZGRkZCBEIE1NTU0gWVlZWSBISDptbSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW09nZ2kgYWxsZV0gTFQnLFxuICAgIG5leHREYXk6ICdbRG9tYW5pIGFsbGVdIExUJyxcbiAgICBuZXh0V2VlazogJ2RkZGQgW2FsbGVdIExUJyxcbiAgICBsYXN0RGF5OiAnW0llcmkgYWxsZV0gTFQnLFxuICAgIGxhc3RXZWVrKGRhdGU6IERhdGUpIHtcbiAgICAgIHN3aXRjaCAoZ2V0RGF5T2ZXZWVrKGRhdGUpKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICByZXR1cm4gJ1tsYSBzY29yc2FdIGRkZGQgW2FsbGVdIExUJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gJ1tsbyBzY29yc29dIGRkZGQgW2FsbGVdIExUJztcbiAgICAgIH1cbiAgICB9LFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlKG51bTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAoKC9eWzAtOV0uKyQvKS50ZXN0KG51bS50b1N0cmluZygxMCkpID8gJ3RyYScgOiAnaW4nKSArICcgJyArIG51bTtcbiAgICB9LFxuICAgIHBhc3Q6ICclcyBmYScsXG4gICAgczogJ2FsY3VuaSBzZWNvbmRpJyxcbiAgICBzczogJyVkIHNlY29uZGknLFxuICAgIG06ICd1biBtaW51dG8nLFxuICAgIG1tOiAnJWQgbWludXRpJyxcbiAgICBoOiAndW5cXCdvcmEnLFxuICAgIGhoOiAnJWQgb3JlJyxcbiAgICBkOiAndW4gZ2lvcm5vJyxcbiAgICBkZDogJyVkIGdpb3JuaScsXG4gICAgTTogJ3VuIG1lc2UnLFxuICAgIE1NOiAnJWQgbWVzaScsXG4gICAgeTogJ3VuIGFubm8nLFxuICAgIHl5OiAnJWQgYW5uaSdcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9wrovLFxuICBvcmRpbmFsOiAnJWTCuicsXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNCAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNHRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\nexport const jaLocale = {\n abbr: 'ja',\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 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日 HH:mm dddd',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日 HH:mm dddd'\n },\n meridiemParse: /午前|午後/i,\n isPM(input) {\n return input === '午後';\n },\n meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n }\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(num, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return num + '日';\n default:\n return num.toString(10);\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2phLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQywwQkFBMEI7QUFDMUIsZ0RBQWdEO0FBRWhELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZ0I7SUFDbkMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUcsd0NBQXdDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM1RCxXQUFXLEVBQUcsd0NBQXdDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNqRSxRQUFRLEVBQUcsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNuRCxhQUFhLEVBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDMUMsV0FBVyxFQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hDLGNBQWMsRUFBRztRQUNmLEVBQUUsRUFBRyxPQUFPO1FBQ1osR0FBRyxFQUFHLFVBQVU7UUFDaEIsQ0FBQyxFQUFHLFlBQVk7UUFDaEIsRUFBRSxFQUFHLFdBQVc7UUFDaEIsR0FBRyxFQUFHLGlCQUFpQjtRQUN2QixJQUFJLEVBQUcsc0JBQXNCO1FBQzdCLENBQUMsRUFBRyxZQUFZO1FBQ2hCLEVBQUUsRUFBRyxXQUFXO1FBQ2hCLEdBQUcsRUFBRyxpQkFBaUI7UUFDdkIsSUFBSSxFQUFHLHNCQUFzQjtLQUM5QjtJQUNELGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLElBQUksQ0FBRSxLQUFLO1FBQ1QsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxRQUFRLENBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPO1FBQzdCLElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFDRCxRQUFRLEVBQUc7UUFDVCxPQUFPLEVBQUcsU0FBUztRQUNuQixPQUFPLEVBQUcsU0FBUztRQUNuQixRQUFRLEVBQUcsYUFBYTtRQUN4QixPQUFPLEVBQUcsU0FBUztRQUNuQixRQUFRLEVBQUcsYUFBYTtRQUN4QixRQUFRLEVBQUcsR0FBRztLQUNmO0lBQ0Qsc0JBQXNCLEVBQUcsVUFBVTtJQUNuQyxPQUFPLENBQUUsR0FBVyxFQUFFLE1BQWM7UUFDbEMsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNmLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUNELFlBQVksRUFBRztRQUNiLE1BQU0sRUFBRyxLQUFLO1FBQ2QsSUFBSSxFQUFHLEtBQUs7UUFDWixDQUFDLEVBQUcsSUFBSTtRQUNSLEVBQUUsRUFBRyxLQUFLO1FBQ1YsQ0FBQyxFQUFHLElBQUk7UUFDUixFQUFFLEVBQUcsS0FBSztRQUNWLENBQUMsRUFBRyxLQUFLO1FBQ1QsRUFBRSxFQUFHLE1BQU07UUFDWCxDQUFDLEVBQUcsSUFBSTtRQUNSLEVBQUUsRUFBRyxLQUFLO1FBQ1YsQ0FBQyxFQUFHLEtBQUs7UUFDVCxFQUFFLEVBQUcsTUFBTTtRQUNYLENBQUMsRUFBRyxJQUFJO1FBQ1IsRUFBRSxFQUFHLEtBQUs7S0FDWDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBKYXBhbmVzZSBbamFdXG4vLyEgYXV0aG9yIDogTEkgTG9uZyA6IGh0dHBzOi8vZ2l0aHViLmNvbS9iYXJ5b25cblxuZXhwb3J0IGNvbnN0IGphTG9jYWxlOiBMb2NhbGVEYXRhID0gIHtcbiAgYWJicjogJ2phJyxcbiAgbW9udGhzIDogJzHmnIhfMuaciF8z5pyIXzTmnIhfNeaciF825pyIXzfmnIhfOOaciF855pyIXzEw5pyIXzEx5pyIXzEy5pyIJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydCA6ICcx5pyIXzLmnIhfM+aciF805pyIXzXmnIhfNuaciF835pyIXzjmnIhfOeaciF8xMOaciF8xMeaciF8xMuaciCcuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXMgOiAn5pel5puc5pelX+aciOabnOaXpV/ngavmm5zml6Vf5rC05puc5pelX+acqOabnOaXpV/ph5Hmm5zml6Vf5Zyf5puc5pelJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0IDogJ+aXpV/mnIhf54GrX+awtF/mnKhf6YeRX+Wcnycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW4gOiAn5pelX+aciF/ngatf5rC0X+acqF/ph5Ff5ZyfJy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdCA6IHtcbiAgICBMVCA6ICdISDptbScsXG4gICAgTFRTIDogJ0hIOm1tOnNzJyxcbiAgICBMIDogJ1lZWVkvTU0vREQnLFxuICAgIExMIDogJ1lZWVnlubRN5pyIROaXpScsXG4gICAgTExMIDogJ1lZWVnlubRN5pyIROaXpSBISDptbScsXG4gICAgTExMTCA6ICdZWVlZ5bm0TeaciETml6UgSEg6bW0gZGRkZCcsXG4gICAgbCA6ICdZWVlZL01NL0REJyxcbiAgICBsbCA6ICdZWVlZ5bm0TeaciETml6UnLFxuICAgIGxsbCA6ICdZWVlZ5bm0TeaciETml6UgSEg6bW0nLFxuICAgIGxsbGwgOiAnWVlZWeW5tE3mnIhE5pelIEhIOm1tIGRkZGQnXG4gIH0sXG4gIG1lcmlkaWVtUGFyc2U6IC/ljYjliY185Y2I5b6ML2ksXG4gIGlzUE0gKGlucHV0KSB7XG4gICAgcmV0dXJuIGlucHV0ID09PSAn5Y2I5b6MJztcbiAgfSxcbiAgbWVyaWRpZW0gKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgIGlmIChob3VyIDwgMTIpIHtcbiAgICAgIHJldHVybiAn5Y2I5YmNJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICfljYjlvownO1xuICAgIH1cbiAgfSxcbiAgY2FsZW5kYXIgOiB7XG4gICAgc2FtZURheSA6ICdb5LuK5pelXSBMVCcsXG4gICAgbmV4dERheSA6ICdb5piO5pelXSBMVCcsXG4gICAgbmV4dFdlZWsgOiAnW+adpemAsV1kZGRkIExUJyxcbiAgICBsYXN0RGF5IDogJ1vmmKjml6VdIExUJyxcbiAgICBsYXN0V2VlayA6ICdb5YmN6YCxXWRkZGQgTFQnLFxuICAgIHNhbWVFbHNlIDogJ0wnXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2UgOiAvXFxkezEsMn3ml6UvLFxuICBvcmRpbmFsIChudW06IG51bWJlciwgcGVyaW9kOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAocGVyaW9kKSB7XG4gICAgICBjYXNlICdkJzpcbiAgICAgIGNhc2UgJ0QnOlxuICAgICAgY2FzZSAnREREJzpcbiAgICAgICAgcmV0dXJuIG51bSArICfml6UnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bS50b1N0cmluZygxMCk7XG4gICAgfVxuICB9LFxuICByZWxhdGl2ZVRpbWUgOiB7XG4gICAgZnV0dXJlIDogJyVz5b6MJyxcbiAgICBwYXN0IDogJyVz5YmNJyxcbiAgICBzIDogJ+aVsOenkicsXG4gICAgc3MgOiAnJWTnp5InLFxuICAgIG0gOiAnMeWIhicsXG4gICAgbW0gOiAnJWTliIYnLFxuICAgIGggOiAnMeaZgumWkycsXG4gICAgaGggOiAnJWTmmYLplpMnLFxuICAgIGQgOiAnMeaXpScsXG4gICAgZGQgOiAnJWTml6UnLFxuICAgIE0gOiAnMeODtuaciCcsXG4gICAgTU0gOiAnJWTjg7bmnIgnLFxuICAgIHkgOiAnMeW5tCcsXG4gICAgeXkgOiAnJWTlubQnXG4gIH1cbn07XG4iXX0=","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili\n//! author : Levan Tskipuri : https://github.com/tskipa\nexport const kaLocale = {\n abbr: 'ka',\n months: {\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_'),\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_')\n },\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.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: '[დღეს] 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 var st = s.toString();\n return (/(წამი|წუთი|საათი|წელი)/).test(st) ?\n st.replace(/ი$/, 'ში') :\n st + 'ში';\n },\n past(s) {\n var st = s.toString();\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(st)) {\n return st.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(st)) {\n return st.replace(/წელი$/, 'წლის წინ');\n }\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(_num, _period) {\n const num = Number(_num);\n if (num === 0) {\n return num.toString();\n }\n if (num === 1) {\n return num + '-ლი';\n }\n if ((num < 20) || (num <= 100 && (num % 20 === 0)) || (num % 100 === 0)) {\n return 'მე-' + num;\n }\n return num + '-ე';\n },\n week: {\n dow: 1,\n doy: 4\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2thLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQywwQkFBMEI7QUFDMUIsdUVBQXVFO0FBQ3ZFLHVEQUF1RDtBQUV2RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWdCO0lBQ25DLElBQUksRUFBRSxJQUFJO0lBQ1YsTUFBTSxFQUFHO1FBQ1AsTUFBTSxFQUFFLHFHQUFxRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDeEgsVUFBVSxFQUFFLG9HQUFvRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7S0FDNUg7SUFDRCxXQUFXLEVBQUcsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxRSxRQUFRLEVBQUc7UUFDVCxVQUFVLEVBQUUsK0RBQStELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN0RixNQUFNLEVBQUUsZ0VBQWdFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNuRixRQUFRLEVBQUUsZUFBZTtLQUMxQjtJQUNELGFBQWEsRUFBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hELFdBQVcsRUFBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9DLGNBQWMsRUFBRztRQUNmLEVBQUUsRUFBRyxRQUFRO1FBQ2IsR0FBRyxFQUFHLFdBQVc7UUFDakIsQ0FBQyxFQUFHLFlBQVk7UUFDaEIsRUFBRSxFQUFHLGFBQWE7UUFDbEIsR0FBRyxFQUFHLG9CQUFvQjtRQUMxQixJQUFJLEVBQUcsMEJBQTBCO0tBQ2xDO0lBQ0QsUUFBUSxFQUFHO1FBQ1QsT0FBTyxFQUFHLGdCQUFnQjtRQUMxQixPQUFPLEVBQUcsZ0JBQWdCO1FBQzFCLE9BQU8sRUFBRyxpQkFBaUI7UUFDM0IsUUFBUSxFQUFHLHVCQUF1QjtRQUNsQyxRQUFRLEVBQUcsbUJBQW1CO1FBQzlCLFFBQVEsRUFBRyxHQUFHO0tBQ2Y7SUFDRCxZQUFZLEVBQUc7UUFDYixNQUFNLENBQUMsQ0FBUztZQUNkLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDNUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDeEIsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNaLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBUztZQUNaLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDO1FBQ0QsQ0FBQyxFQUFHLGdCQUFnQjtRQUNwQixFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxNQUFNO1FBQ1YsRUFBRSxFQUFHLFNBQVM7UUFDZCxDQUFDLEVBQUcsT0FBTztRQUNYLEVBQUUsRUFBRyxVQUFVO1FBQ2YsQ0FBQyxFQUFHLEtBQUs7UUFDVCxFQUFFLEVBQUcsUUFBUTtRQUNiLENBQUMsRUFBRyxLQUFLO1FBQ1QsRUFBRSxFQUFHLFFBQVE7UUFDYixDQUFDLEVBQUcsTUFBTTtRQUNWLEVBQUUsRUFBRyxTQUFTO0tBQ2Y7SUFDRCxzQkFBc0IsRUFBRSw2QkFBNkI7SUFDckQsT0FBTyxDQUFDLElBQVksRUFBRSxPQUFlO1FBQ25DLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNkLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNkLE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEUsT0FBTyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksRUFBRztRQUNMLEdBQUcsRUFBRyxDQUFDO1FBQ1AsR0FBRyxFQUFHLENBQUM7S0FDUjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBHZW9yZ2lhbiBba2FdXG4vLyEgYXV0aG9yIDogSXJha2xpIEphbmlhc2h2aWxpIDogaHR0cHM6Ly9naXRodWIuY29tL2lyYWtsaS1qYW5pYXNodmlsaVxuLy8hIGF1dGhvciA6IExldmFuIFRza2lwdXJpIDogaHR0cHM6Ly9naXRodWIuY29tL3Rza2lwYVxuXG5leHBvcnQgY29uc3Qga2FMb2NhbGU6IExvY2FsZURhdGEgPSAge1xuICBhYmJyOiAna2EnLFxuICBtb250aHMgOiB7XG4gICAgZm9ybWF0OiAn4YOY4YOQ4YOc4YOV4YOQ4YOg4YOhX+GDl+GDlOGDkeGDlOGDoOGDleGDkOGDmuGDoV/hg5vhg5Dhg6Dhg6Lhg6Ff4YOQ4YOe4YOg4YOY4YOa4YOY4YOhX+GDm+GDkOGDmOGDoeGDoV/hg5jhg5Xhg5zhg5jhg6Hhg6Ff4YOY4YOV4YOa4YOY4YOh4YOhX+GDkOGDkuGDleGDmOGDoeGDouGDoV/hg6Hhg5Thg6Xhg6Lhg5Thg5vhg5Hhg5Thg6Dhg6Ff4YOd4YOl4YOi4YOd4YOb4YOR4YOU4YOg4YOhX+GDnOGDneGDlOGDm+GDkeGDlOGDoOGDoV/hg5Phg5Thg5nhg5Thg5vhg5Hhg5Thg6Dhg6EnLnNwbGl0KCdfJyksXG4gICAgc3RhbmRhbG9uZTogJ+GDmOGDkOGDnOGDleGDkOGDoOGDmF/hg5fhg5Thg5Hhg5Thg6Dhg5Xhg5Dhg5rhg5hf4YOb4YOQ4YOg4YOi4YOYX+GDkOGDnuGDoOGDmOGDmuGDmF/hg5vhg5Dhg5jhg6Hhg5hf4YOY4YOV4YOc4YOY4YOh4YOYX+GDmOGDleGDmuGDmOGDoeGDmF/hg5Dhg5Lhg5Xhg5jhg6Hhg6Lhg51f4YOh4YOU4YOl4YOi4YOU4YOb4YOR4YOU4YOg4YOYX+GDneGDpeGDouGDneGDm+GDkeGDlOGDoOGDmF/hg5zhg53hg5Thg5vhg5Hhg5Thg6Dhg5hf4YOT4YOU4YOZ4YOU4YOb4YOR4YOU4YOg4YOYJy5zcGxpdCgnXycpXG4gIH0sXG4gIG1vbnRoc1Nob3J0IDogJ+GDmOGDkOGDnF/hg5fhg5Thg5Ff4YOb4YOQ4YOgX+GDkOGDnuGDoF/hg5vhg5Dhg5hf4YOY4YOV4YOcX+GDmOGDleGDml/hg5Dhg5Lhg5Vf4YOh4YOU4YOlX+GDneGDpeGDol/hg5zhg53hg5Rf4YOT4YOU4YOZJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5cyA6IHtcbiAgICBzdGFuZGFsb25lOiAn4YOZ4YOV4YOY4YOg4YOQX+GDneGDoOGDqOGDkOGDkeGDkOGDl+GDmF/hg6Hhg5Dhg5vhg6jhg5Dhg5Hhg5Dhg5fhg5hf4YOd4YOX4YOu4YOo4YOQ4YOR4YOQ4YOX4YOYX+GDruGDo+GDl+GDqOGDkOGDkeGDkOGDl+GDmF/hg57hg5Dhg6Dhg5Dhg6Hhg5nhg5Thg5Xhg5hf4YOo4YOQ4YOR4YOQ4YOX4YOYJy5zcGxpdCgnXycpLFxuICAgIGZvcm1hdDogJ+GDmeGDleGDmOGDoOGDkOGDoV/hg53hg6Dhg6jhg5Dhg5Hhg5Dhg5fhg6Ff4YOh4YOQ4YOb4YOo4YOQ4YOR4YOQ4YOX4YOhX+GDneGDl+GDruGDqOGDkOGDkeGDkOGDl+GDoV/hg67hg6Phg5fhg6jhg5Dhg5Hhg5Dhg5fhg6Ff4YOe4YOQ4YOg4YOQ4YOh4YOZ4YOU4YOV4YOhX+GDqOGDkOGDkeGDkOGDl+GDoScuc3BsaXQoJ18nKSxcbiAgICBpc0Zvcm1hdDogLyjhg6zhg5jhg5zhg5B84YOo4YOU4YOb4YOT4YOU4YOSKS9cbiAgfSxcbiAgd2Vla2RheXNTaG9ydCA6ICfhg5nhg5Xhg5hf4YOd4YOg4YOoX+GDoeGDkOGDm1/hg53hg5fhg65f4YOu4YOj4YOXX+GDnuGDkOGDoF/hg6jhg5Dhg5EnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluIDogJ+GDmeGDlV/hg53hg6Bf4YOh4YOQX+GDneGDl1/hg67hg6Nf4YOe4YOQX+GDqOGDkCcuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQgOiB7XG4gICAgTFQgOiAnaDptbSBBJyxcbiAgICBMVFMgOiAnaDptbTpzcyBBJyxcbiAgICBMIDogJ0REL01NL1lZWVknLFxuICAgIExMIDogJ0QgTU1NTSBZWVlZJyxcbiAgICBMTEwgOiAnRCBNTU1NIFlZWVkgaDptbSBBJyxcbiAgICBMTExMIDogJ2RkZGQsIEQgTU1NTSBZWVlZIGg6bW0gQSdcbiAgfSxcbiAgY2FsZW5kYXIgOiB7XG4gICAgc2FtZURheSA6ICdb4YOT4YOm4YOU4YOhXSBMVFst4YOW4YOUXScsXG4gICAgbmV4dERheSA6ICdb4YOu4YOV4YOQ4YOaXSBMVFst4YOW4YOUXScsXG4gICAgbGFzdERheSA6ICdb4YOS4YOj4YOo4YOY4YOcXSBMVFst4YOW4YOUXScsXG4gICAgbmV4dFdlZWsgOiAnW+GDqOGDlOGDm+GDk+GDlOGDkl0gZGRkZCBMVFst4YOW4YOUXScsXG4gICAgbGFzdFdlZWsgOiAnW+GDrOGDmOGDnOGDkF0gZGRkZCBMVC3hg5bhg5QnLFxuICAgIHNhbWVFbHNlIDogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZSA6IHtcbiAgICBmdXR1cmUoczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgIHZhciBzdCA9IHMudG9TdHJpbmcoKTtcbiAgICAgIHJldHVybiAoLyjhg6zhg5Dhg5vhg5h84YOs4YOj4YOX4YOYfOGDoeGDkOGDkOGDl+GDmHzhg6zhg5Thg5rhg5gpLykudGVzdChzdCkgP1xuICAgICAgc3QucmVwbGFjZSgv4YOYJC8sICfhg6jhg5gnKSA6XG4gICAgICBzdCArICfhg6jhg5gnO1xuICAgIH0sXG4gICAgcGFzdChzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgdmFyIHN0ID0gcy50b1N0cmluZygpO1xuICAgICAgaWYgKCgvKOGDrOGDkOGDm+GDmHzhg6zhg6Phg5fhg5h84YOh4YOQ4YOQ4YOX4YOYfOGDk+GDpuGDlHzhg5fhg5Xhg5QpLykudGVzdChzdCkpIHtcbiAgICAgICAgcmV0dXJuIHN0LnJlcGxhY2UoLyjhg5h84YOUKSQvLCAn4YOY4YOhIOGDrOGDmOGDnCcpO1xuICAgICAgfVxuICAgICAgaWYgKCgv4YOs4YOU4YOa4YOYLykudGVzdChzdCkpIHtcbiAgICAgICAgcmV0dXJuIHN0LnJlcGxhY2UoL+GDrOGDlOGDmuGDmCQvLCAn4YOs4YOa4YOY4YOhIOGDrOGDmOGDnCcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgcyA6ICfhg6Dhg5Dhg5vhg5Phg5Thg5zhg5jhg5vhg5Qg4YOs4YOQ4YOb4YOYJyxcbiAgICBzcyA6ICclZCDhg6zhg5Dhg5vhg5gnLFxuICAgIG0gOiAn4YOs4YOj4YOX4YOYJyxcbiAgICBtbSA6ICclZCDhg6zhg6Phg5fhg5gnLFxuICAgIGggOiAn4YOh4YOQ4YOQ4YOX4YOYJyxcbiAgICBoaCA6ICclZCDhg6Hhg5Dhg5Dhg5fhg5gnLFxuICAgIGQgOiAn4YOT4YOm4YOUJyxcbiAgICBkZCA6ICclZCDhg5Phg6bhg5QnLFxuICAgIE0gOiAn4YOX4YOV4YOUJyxcbiAgICBNTSA6ICclZCDhg5fhg5Xhg5QnLFxuICAgIHkgOiAn4YOs4YOU4YOa4YOYJyxcbiAgICB5eSA6ICclZCDhg6zhg5Thg5rhg5gnXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC8wfDEt4YOa4YOYfOGDm+GDlC1cXGR7MSwyfXxcXGR7MSwyfS3hg5QvLFxuICBvcmRpbmFsKF9udW06IG51bWJlciwgX3BlcmlvZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW0gPSBOdW1iZXIoX251bSk7XG4gICAgaWYgKG51bSA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bS50b1N0cmluZygpO1xuICAgIH1cbiAgICBpZiAobnVtID09PSAxKSB7XG4gICAgICByZXR1cm4gbnVtICsgJy3hg5rhg5gnO1xuICAgIH1cbiAgICBpZiAoKG51bSA8IDIwKSB8fCAobnVtIDw9IDEwMCAmJiAobnVtICUgMjAgPT09IDApKSB8fCAobnVtICUgMTAwID09PSAwKSkge1xuICAgICAgcmV0dXJuICfhg5vhg5QtJyArIG51bTtcbiAgICB9XG4gICAgcmV0dXJuIG51bSArICct4YOUJztcbiAgfSxcbiAgd2VlayA6IHtcbiAgICBkb3cgOiAxLFxuICAgIGRveSA6IDRcbiAgfVxufTtcbiJdfQ==","// ! moment.js locale configuration\n// ! locale : Kazakh [kk]\n// ! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\nconst 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};\nexport const kkLocale = {\n abbr: 'kk',\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\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: '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(_num) {\n const a = _num % 10;\n const b = _num >= 100 ? 100 : null;\n return _num + (suffixes[_num] || 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2trLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyx5QkFBeUI7QUFDekIsOERBQThEO0FBSTlELE1BQU0sUUFBUSxHQUFHO0lBQ2YsQ0FBQyxFQUFFLEtBQUs7SUFDUixDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLEtBQUs7SUFDUixDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLEtBQUs7SUFDUixDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLEtBQUs7SUFDUixFQUFFLEVBQUUsS0FBSztJQUNULEVBQUUsRUFBRSxLQUFLO0lBQ1QsRUFBRSxFQUFFLEtBQUs7SUFDVCxFQUFFLEVBQUUsS0FBSztJQUNULEVBQUUsRUFBRSxLQUFLO0lBQ1QsRUFBRSxFQUFFLEtBQUs7SUFDVCxFQUFFLEVBQUUsS0FBSztJQUNULEVBQUUsRUFBRSxLQUFLO0lBQ1QsRUFBRSxFQUFFLEtBQUs7SUFDVCxHQUFHLEVBQUUsS0FBSztDQUNYLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUcsb0ZBQW9GLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN4RyxXQUFXLEVBQUcsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxRSxRQUFRLEVBQUcseURBQXlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMvRSxhQUFhLEVBQUcsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN4RCxXQUFXLEVBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMvQyxjQUFjLEVBQUc7UUFDZixFQUFFLEVBQUcsT0FBTztRQUNaLEdBQUcsRUFBRyxVQUFVO1FBQ2hCLENBQUMsRUFBRyxZQUFZO1FBQ2hCLEVBQUUsRUFBRyxhQUFhO1FBQ2xCLEdBQUcsRUFBRyxtQkFBbUI7UUFDekIsSUFBSSxFQUFHLHlCQUF5QjtLQUNqQztJQUNELFFBQVEsRUFBRztRQUNULE9BQU8sRUFBRyxrQkFBa0I7UUFDNUIsT0FBTyxFQUFHLGtCQUFrQjtRQUM1QixRQUFRLEVBQUcsaUJBQWlCO1FBQzVCLE9BQU8sRUFBRyxpQkFBaUI7UUFDM0IsUUFBUSxFQUFHLGlDQUFpQztRQUM1QyxRQUFRLEVBQUcsR0FBRztLQUNmO0lBQ0QsWUFBWSxFQUFHO1FBQ2IsTUFBTSxFQUFHLFdBQVc7UUFDcEIsSUFBSSxFQUFHLFVBQVU7UUFDakIsQ0FBQyxFQUFHLGdCQUFnQjtRQUNwQixFQUFFLEVBQUcsV0FBVztRQUNoQixDQUFDLEVBQUcsV0FBVztRQUNmLEVBQUUsRUFBRyxVQUFVO1FBQ2YsQ0FBQyxFQUFHLFdBQVc7UUFDZixFQUFFLEVBQUcsVUFBVTtRQUNmLENBQUMsRUFBRyxTQUFTO1FBQ2IsRUFBRSxFQUFHLFFBQVE7UUFDYixDQUFDLEVBQUcsUUFBUTtRQUNaLEVBQUUsRUFBRyxPQUFPO1FBQ1osQ0FBQyxFQUFHLFNBQVM7UUFDYixFQUFFLEVBQUcsUUFBUTtLQUNkO0lBQ0Qsc0JBQXNCLEVBQUUsaUJBQWlCO0lBQ3pDLE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFbkMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLEVBQUc7UUFDTCxHQUFHLEVBQUcsQ0FBQyxFQUFFLHVDQUF1QztRQUNoRCxHQUFHLEVBQUcsQ0FBQyxDQUFFLGdFQUFnRTtLQUMxRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAhIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8gISBsb2NhbGUgOiBLYXpha2ggW2trXVxuLy8gISBhdXRob3JzIDogTnVybGFuIFJha2hpbXpoYW5vdiA6IGh0dHBzOi8vZ2l0aHViLmNvbS9udXJsYW5cblxuaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uJztcblxuY29uc3Qgc3VmZml4ZXMgPSB7XG4gIDA6ICct0YjRlicsXG4gIDE6ICct0YjRlicsXG4gIDI6ICct0YjRlicsXG4gIDM6ICct0YjRlicsXG4gIDQ6ICct0YjRlicsXG4gIDU6ICct0YjRlicsXG4gIDY6ICct0YjRiycsXG4gIDc6ICct0YjRlicsXG4gIDg6ICct0YjRlicsXG4gIDk6ICct0YjRiycsXG4gIDEwOiAnLdGI0YsnLFxuICAyMDogJy3RiNGLJyxcbiAgMzA6ICct0YjRiycsXG4gIDQwOiAnLdGI0YsnLFxuICA1MDogJy3RiNGWJyxcbiAgNjA6ICct0YjRiycsXG4gIDcwOiAnLdGI0ZYnLFxuICA4MDogJy3RiNGWJyxcbiAgOTA6ICct0YjRiycsXG4gIDEwMDogJy3RiNGWJ1xufTtcblxuZXhwb3J0IGNvbnN0IGtrTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAna2snLFxuICBtb250aHMgOiAn0pvQsNKj0YLQsNGAX9Cw0pvQv9Cw0L1f0L3QsNGD0YDRi9C3X9GB05nRg9GW0YBf0LzQsNC80YvRgF/QvNCw0YPRgdGL0Lxf0YjRltC70LTQtV/RgtCw0LzRi9C3X9Kb0YvRgNC60q/QudC10Lpf0pvQsNC30LDQvV/Sm9Cw0YDQsNGI0LBf0LbQtdC70YLQvtKb0YHQsNC9Jy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydCA6ICfSm9Cw0qNf0LDSm9C/X9C90LDRg1/RgdOZ0YNf0LzQsNC8X9C80LDRg1/RiNGW0Ltf0YLQsNC8X9Kb0YvRgF/Sm9Cw0Ldf0pvQsNGAX9C20LXQuycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXMgOiAn0LbQtdC60YHQtdC90LHRll/QtNKv0LnRgdC10L3QsdGWX9GB0LXQudGB0LXQvdCx0ZZf0YHTmdGA0YHQtdC90LHRll/QsdC10LnRgdC10L3QsdGWX9C20rHQvNCwX9GB0LXQvdCx0ZYnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQgOiAn0LbQtdC6X9C00q/QuV/RgdC10Llf0YHTmdGAX9Cx0LXQuV/QttKx0Lxf0YHQtdC9Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbiA6ICfQttC6X9C00Llf0YHQuV/RgdGAX9Cx0Llf0LbQvF/RgdC9Jy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdCA6IHtcbiAgICBMVCA6ICdISDptbScsXG4gICAgTFRTIDogJ0hIOm1tOnNzJyxcbiAgICBMIDogJ0RELk1NLllZWVknLFxuICAgIExMIDogJ0QgTU1NTSBZWVlZJyxcbiAgICBMTEwgOiAnRCBNTU1NIFlZWVkgSEg6bW0nLFxuICAgIExMTEwgOiAnZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyIDoge1xuICAgIHNhbWVEYXkgOiAnW9CR0q/Qs9GW0L0g0YHQsNKT0LDRgl0gTFQnLFxuICAgIG5leHREYXkgOiAnW9CV0YDRgtC10qMg0YHQsNKT0LDRgl0gTFQnLFxuICAgIG5leHRXZWVrIDogJ2RkZGQgW9GB0LDSk9Cw0YJdIExUJyxcbiAgICBsYXN0RGF5IDogJ1vQmtC10YjQtSDRgdCw0pPQsNGCXSBMVCcsXG4gICAgbGFzdFdlZWsgOiAnW9Oo0YLQutC10L0g0LDQv9GC0LDQvdGL0qNdIGRkZGQgW9GB0LDSk9Cw0YJdIExUJyxcbiAgICBzYW1lRWxzZSA6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWUgOiB7XG4gICAgZnV0dXJlIDogJyVzINGW0YjRltC90LTQtScsXG4gICAgcGFzdCA6ICclcyDQsdKx0YDRi9C9JyxcbiAgICBzIDogJ9Cx0ZbRgNC90LXRiNC1INGB0LXQutGD0L3QtCcsXG4gICAgc3MgOiAnJWQg0YHQtdC60YPQvdC0JyxcbiAgICBtIDogJ9Cx0ZbRgCDQvNC40L3Rg9GCJyxcbiAgICBtbSA6ICclZCDQvNC40L3Rg9GCJyxcbiAgICBoIDogJ9Cx0ZbRgCDRgdCw0pPQsNGCJyxcbiAgICBoaCA6ICclZCDRgdCw0pPQsNGCJyxcbiAgICBkIDogJ9Cx0ZbRgCDQutKv0L0nLFxuICAgIGRkIDogJyVkINC60q/QvScsXG4gICAgTSA6ICfQsdGW0YAg0LDQuScsXG4gICAgTU0gOiAnJWQg0LDQuScsXG4gICAgeSA6ICfQsdGW0YAg0LbRi9C7JyxcbiAgICB5eSA6ICclZCDQttGL0LsnXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfS0o0YjRlnzRiNGLKS8sXG4gIG9yZGluYWwoX251bTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBhID0gX251bSAlIDEwO1xuICAgIGNvbnN0IGIgPSBfbnVtID49IDEwMCA/IDEwMCA6IG51bGw7XG5cbiAgICByZXR1cm4gX251bSArIChzdWZmaXhlc1tfbnVtXSB8fCBzdWZmaXhlc1thXSB8fCBzdWZmaXhlc1tiXSk7XG4gIH0sXG4gIHdlZWsgOiB7XG4gICAgZG93IDogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95IDogNyAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gN3RoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\nexport const koLocale = {\n abbr: '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 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 (num, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return num + '일';\n case 'M':\n return num + '월';\n case 'w':\n case 'W':\n return num + '주';\n default:\n return num.toString(10);\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2tvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyx3QkFBd0I7QUFDeEIsMkRBQTJEO0FBQzNELDRDQUE0QztBQUU1QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUcsd0NBQXdDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM1RCxXQUFXLEVBQUcsd0NBQXdDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNqRSxRQUFRLEVBQUcsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNuRCxhQUFhLEVBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDMUMsV0FBVyxFQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hDLGNBQWMsRUFBRztRQUNmLEVBQUUsRUFBRyxRQUFRO1FBQ2IsR0FBRyxFQUFHLFdBQVc7UUFDakIsQ0FBQyxFQUFHLFlBQVk7UUFDaEIsRUFBRSxFQUFHLGVBQWU7UUFDcEIsR0FBRyxFQUFHLHNCQUFzQjtRQUM1QixJQUFJLEVBQUcsMkJBQTJCO1FBQ2xDLENBQUMsRUFBRyxZQUFZO1FBQ2hCLEVBQUUsRUFBRyxlQUFlO1FBQ3BCLEdBQUcsRUFBRyxzQkFBc0I7UUFDNUIsSUFBSSxFQUFHLDJCQUEyQjtLQUNuQztJQUNELFFBQVEsRUFBRztRQUNULE9BQU8sRUFBRyxPQUFPO1FBQ2pCLE9BQU8sRUFBRyxPQUFPO1FBQ2pCLFFBQVEsRUFBRyxTQUFTO1FBQ3BCLE9BQU8sRUFBRyxPQUFPO1FBQ2pCLFFBQVEsRUFBRyxhQUFhO1FBQ3hCLFFBQVEsRUFBRyxHQUFHO0tBQ2Y7SUFDRCxZQUFZLEVBQUc7UUFDYixNQUFNLEVBQUcsTUFBTTtRQUNmLElBQUksRUFBRyxNQUFNO1FBQ2IsQ0FBQyxFQUFHLEtBQUs7UUFDVCxFQUFFLEVBQUcsS0FBSztRQUNWLENBQUMsRUFBRyxJQUFJO1FBQ1IsRUFBRSxFQUFHLEtBQUs7UUFDVixDQUFDLEVBQUcsTUFBTTtRQUNWLEVBQUUsRUFBRyxNQUFNO1FBQ1gsQ0FBQyxFQUFHLElBQUk7UUFDUixFQUFFLEVBQUcsS0FBSztRQUNWLENBQUMsRUFBRyxLQUFLO1FBQ1QsRUFBRSxFQUFHLEtBQUs7UUFDVixDQUFDLEVBQUcsS0FBSztRQUNULEVBQUUsRUFBRyxLQUFLO0tBQ1g7SUFDRCxzQkFBc0IsRUFBRyxnQkFBZ0I7SUFDekMsT0FBTyxFQUFHLFVBQVUsR0FBVyxFQUFFLE1BQWM7UUFDN0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNmLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ25CLEtBQUssR0FBRztnQkFDTixPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDbkIsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUc7Z0JBQ04sT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUNELGFBQWEsRUFBRyxPQUFPO0lBQ3ZCLElBQUksRUFBRyxVQUFVLEtBQUs7UUFDcEIsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxRQUFRLEVBQUcsVUFBVSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU87UUFDeEMsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEtvcmVhbiBba29dXG4vLyEgYXV0aG9yIDogS3l1bmd3b29rLCBQYXJrIDogaHR0cHM6Ly9naXRodWIuY29tL2t5dW5ndzAwa1xuLy8hIGF1dGhvciA6IEplZWV5dWwgTGVlIDxqZWVleXVsQGdtYWlsLmNvbT5cblxuZXhwb3J0IGNvbnN0IGtvTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAna28nLFxuICBtb250aHMgOiAnMeyblF8y7JuUXzPsm5RfNOyblF817JuUXzbsm5RfN+yblF847JuUXznsm5RfMTDsm5RfMTHsm5RfMTLsm5QnLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0IDogJzHsm5RfMuyblF8z7JuUXzTsm5RfNeyblF827JuUXzfsm5RfOOyblF857JuUXzEw7JuUXzEx7JuUXzEy7JuUJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5cyA6ICfsnbzsmpTsnbxf7JuU7JqU7J28X+2ZlOyalOydvF/siJjsmpTsnbxf66qp7JqU7J28X+q4iOyalOydvF/thqDsmpTsnbwnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQgOiAn7J28X+yblF/tmZRf7IiYX+uqqV/quIhf7YagJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbiA6ICfsnbxf7JuUX+2ZlF/siJhf66qpX+q4iF/thqAnLnNwbGl0KCdfJyksXG4gIGxvbmdEYXRlRm9ybWF0IDoge1xuICAgIExUIDogJ0EgaDptbScsXG4gICAgTFRTIDogJ0EgaDptbTpzcycsXG4gICAgTCA6ICdZWVlZLk1NLkREJyxcbiAgICBMTCA6ICdZWVlZ64WEIE1NTU0gROydvCcsXG4gICAgTExMIDogJ1lZWVnrhYQgTU1NTSBE7J28IEEgaDptbScsXG4gICAgTExMTCA6ICdZWVlZ64WEIE1NTU0gROydvCBkZGRkIEEgaDptbScsXG4gICAgbCA6ICdZWVlZLk1NLkREJyxcbiAgICBsbCA6ICdZWVlZ64WEIE1NTU0gROydvCcsXG4gICAgbGxsIDogJ1lZWVnrhYQgTU1NTSBE7J28IEEgaDptbScsXG4gICAgbGxsbCA6ICdZWVlZ64WEIE1NTU0gROydvCBkZGRkIEEgaDptbSdcbiAgfSxcbiAgY2FsZW5kYXIgOiB7XG4gICAgc2FtZURheSA6ICfsmKTripggTFQnLFxuICAgIG5leHREYXkgOiAn64K07J28IExUJyxcbiAgICBuZXh0V2VlayA6ICdkZGRkIExUJyxcbiAgICBsYXN0RGF5IDogJ+yWtOygnCBMVCcsXG4gICAgbGFzdFdlZWsgOiAn7KeA64Kc7KO8IGRkZGQgTFQnLFxuICAgIHNhbWVFbHNlIDogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZSA6IHtcbiAgICBmdXR1cmUgOiAnJXMg7ZuEJyxcbiAgICBwYXN0IDogJyVzIOyghCcsXG4gICAgcyA6ICfrqocg7LSIJyxcbiAgICBzcyA6ICclZOy0iCcsXG4gICAgbSA6ICcx67aEJyxcbiAgICBtbSA6ICclZOu2hCcsXG4gICAgaCA6ICftlZwg7Iuc6rCEJyxcbiAgICBoaCA6ICclZOyLnOqwhCcsXG4gICAgZCA6ICftlZjro6gnLFxuICAgIGRkIDogJyVk7J28JyxcbiAgICBNIDogJ+2VnCDri6wnLFxuICAgIE1NIDogJyVk64usJyxcbiAgICB5IDogJ+ydvCDrhYQnLFxuICAgIHl5IDogJyVk64WEJ1xuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlIDogL1xcZHsxLDJ9KOydvHzsm5R87KO8KS8sXG4gIG9yZGluYWwgOiBmdW5jdGlvbiAobnVtOiBudW1iZXIsIHBlcmlvZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHBlcmlvZCkge1xuICAgICAgY2FzZSAnZCc6XG4gICAgICBjYXNlICdEJzpcbiAgICAgIGNhc2UgJ0RERCc6XG4gICAgICAgIHJldHVybiBudW0gKyAn7J28JztcbiAgICAgIGNhc2UgJ00nOlxuICAgICAgICByZXR1cm4gbnVtICsgJ+yblCc7XG4gICAgICBjYXNlICd3JzpcbiAgICAgIGNhc2UgJ1cnOlxuICAgICAgICByZXR1cm4gbnVtICsgJ+yjvCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVtLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gIH0sXG4gIG1lcmlkaWVtUGFyc2UgOiAv7Jik7KCEfOyYpO2bhC8sXG4gIGlzUE0gOiBmdW5jdGlvbiAodG9rZW4pIHtcbiAgICByZXR1cm4gdG9rZW4gPT09ICfsmKTtm4QnO1xuICB9LFxuICBtZXJpZGllbSA6IGZ1bmN0aW9uIChob3VyLCBtaW51dGUsIGlzVXBwZXIpIHtcbiAgICByZXR1cm4gaG91ciA8IDEyID8gJ+yYpOyghCcgOiAn7Jik7ZuEJztcbiAgfVxufTtcbiJdfQ==","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Stanislavas Guk : https://github.com/ixoster\nconst 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};\nfunction translateSeconds(num, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n }\n else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n}\nfunction translateSingular(num, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(num) {\n return num % 10 === 0 || (num > 10 && num < 20);\n}\nfunction forms(key) {\n return units[key].split('_');\n}\nfunction translate(num, withoutSuffix, key, isFuture) {\n let result = num + ' ';\n if (num === 1) {\n return result + translateSingular(num, withoutSuffix, key[0], isFuture);\n }\n else if (withoutSuffix) {\n return result + (special(num) ? forms(key)[1] : forms(key)[0]);\n }\n else {\n if (isFuture) {\n return result + forms(key)[1];\n }\n else {\n return result + (special(num) ? forms(key)[1] : forms(key)[2]);\n }\n }\n}\nexport const ltLocale = {\n abbr: '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 standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\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 standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\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(num) {\n return num + '-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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2x0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyw0QkFBNEI7QUFDNUIseURBQXlEO0FBRXpELE1BQU0sS0FBSyxHQUFHO0lBQ1osRUFBRSxFQUFHLDRCQUE0QjtJQUNqQyxDQUFDLEVBQUcsdUJBQXVCO0lBQzNCLEVBQUUsRUFBRSx5QkFBeUI7SUFDN0IsQ0FBQyxFQUFHLDBCQUEwQjtJQUM5QixFQUFFLEVBQUUsMkJBQTJCO0lBQy9CLENBQUMsRUFBRyxvQkFBb0I7SUFDeEIsRUFBRSxFQUFFLHFCQUFxQjtJQUN6QixDQUFDLEVBQUcsc0JBQXNCO0lBQzFCLEVBQUUsRUFBRSwyQkFBMkI7SUFDL0IsQ0FBQyxFQUFHLGtCQUFrQjtJQUN0QixFQUFFLEVBQUUsa0JBQWtCO0NBQ3ZCLENBQUM7QUFDRixTQUFTLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxhQUFzQixFQUFFLEdBQVcsRUFBRSxRQUFpQjtJQUMzRixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBQzVELENBQUM7QUFDSCxDQUFDO0FBQ0QsU0FBUyxpQkFBaUIsQ0FBQyxHQUFXLEVBQUUsYUFBc0IsRUFBRSxHQUFXLEVBQUUsUUFBaUI7SUFDNUYsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMs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QUFPLEVBQUcsWUFBWTtRQUN0QixRQUFRLEVBQUcsb0JBQW9CO1FBQy9CLFFBQVEsRUFBRyxHQUFHO0tBQ2pCO0lBQ0QsWUFBWSxFQUFHO1FBQ1gsTUFBTSxFQUFHLE9BQU87UUFDaEIsSUFBSSxFQUFHLFVBQVU7UUFDakIsQ0FBQyxFQUFHLGdCQUFnQjtRQUNwQixFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxpQkFBaUI7UUFDckIsRUFBRSxFQUFHLFNBQVM7UUFDZCxDQUFDLEVBQUcsaUJBQWlCO1FBQ3JCLEVBQUUsRUFBRyxTQUFTO1FBQ2QsQ0FBQyxFQUFHLGlCQUFpQjtRQUNyQixFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxpQkFBaUI7UUFDckIsRUFBRSxFQUFHLFNBQVM7UUFDZCxDQUFDLEVBQUcsaUJBQWlCO1FBQ3JCLEVBQUUsRUFBRyxTQUFTO0tBQ2pCO0lBQ0Qsc0JBQXNCLEVBQUUsYUFBYTtJQUNyQyxPQUFPLENBQUMsR0FBRztRQUNQLE9BQU8sR0FBRyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxFQUFHO1FBQ0gsR0FBRyxFQUFHLENBQUMsRUFBRSx1Q0FBdUM7UUFDaEQsR0FBRyxFQUFHLENBQUMsQ0FBRSxnRUFBZ0U7S0FDNUU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogTGl0aHVhbmlhbiBbbHRdXG4vLyEgYXV0aG9yIDogU3RhbmlzbGF2YXMgR3VrIDogaHR0cHM6Ly9naXRodWIuY29tL2l4b3N0ZXJcblxuY29uc3QgdW5pdHMgPSB7XG4gIHNzIDogJ3Nla3VuZMSXX3Nla3VuZMW+acWzX3Nla3VuZGVzJyxcbiAgbSA6ICdtaW51dMSXX21pbnV0xJdzX21pbnV0xJknLFxuICBtbTogJ21pbnV0xJdzX21pbnXEjWnFs19taW51dGVzJyxcbiAgaCA6ICd2YWxhbmRhX3ZhbGFuZG9zX3ZhbGFuZMSFJyxcbiAgaGg6ICd2YWxhbmRvc192YWxhbmTFs192YWxhbmRhcycsXG4gIGQgOiAnZGllbmFfZGllbm9zX2RpZW7EhScsXG4gIGRkOiAnZGllbm9zX2RpZW7Fs19kaWVuYXMnLFxuICBNIDogJ23El251b19txJduZXNpb19txJduZXPErycsXG4gIE1NOiAnbcSXbmVzaWFpX23El25lc2nFs19txJduZXNpdXMnLFxuICB5IDogJ21ldGFpX21ldMWzX21ldHVzJyxcbiAgeXk6ICdtZXRhaV9tZXTFs19tZXR1cydcbn07XG5mdW5jdGlvbiB0cmFuc2xhdGVTZWNvbmRzKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBrZXk6IHN0cmluZywgaXNGdXR1cmU6IGJvb2xlYW4pIHtcbiAgaWYgKHdpdGhvdXRTdWZmaXgpIHtcbiAgICAgIHJldHVybiAna2VsaW9zIHNla3VuZMSXcyc7XG4gIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaXNGdXR1cmUgPyAna2VsacWzIHNla3VuZMW+acWzJyA6ICdrZWxpYXMgc2VrdW5kZXMnO1xuICB9XG59XG5mdW5jdGlvbiB0cmFuc2xhdGVTaW5ndWxhcihudW06IG51bWJlciwgd2l0aG91dFN1ZmZpeDogYm9vbGVhbiwga2V5OiBzdHJpbmcsIGlzRnV0dXJlOiBib29sZWFuKSB7XG4gIHJldHVybiB3aXRob3V0U3VmZml4ID8gZm9ybXMoa2V5KVswXSA6IChpc0Z1dHVyZSA/IGZvcm1zKGtleSlbMV0gOiBmb3JtcyhrZXkpWzJdKTtcbn1cbmZ1bmN0aW9uIHNwZWNpYWwobnVtOiBudW1iZXIpIHtcbiAgcmV0dXJuIG51bSAlIDEwID09PSAwIHx8IChudW0gPiAxMCAmJiBudW0gPCAyMCk7XG59XG5mdW5jdGlvbiBmb3JtcyhrZXk6IHN0cmluZykge1xuICByZXR1cm4gKHVuaXRzIGFzIGFueSlba2V5XS5zcGxpdCgnXycpO1xufVxuZnVuY3Rpb24gdHJhbnNsYXRlKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBrZXk6IHN0cmluZywgaXNGdXR1cmU6IGJvb2xlYW4pIHtcbiAgbGV0IHJlc3VsdCA9IG51bSArICcgJztcbiAgaWYgKG51bSA9PT0gMSkge1xuICAgICAgcmV0dXJuIHJlc3VsdCArIHRyYW5zbGF0ZVNpbmd1bGFyKG51bSwgd2l0aG91dFN1ZmZpeCwga2V5WzBdLCBpc0Z1dHVyZSk7XG4gIH0gZWxzZSBpZiAod2l0aG91dFN1ZmZpeCkge1xuICAgICAgcmV0dXJuIHJlc3VsdCArIChzcGVjaWFsKG51bSkgPyBmb3JtcyhrZXkpWzFdIDogZm9ybXMoa2V5KVswXSk7XG4gIH0gZWxzZSB7XG4gICAgICBpZiAoaXNGdXR1cmUpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0ICsgZm9ybXMoa2V5KVsxXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdCArIChzcGVjaWFsKG51bSkgPyBmb3JtcyhrZXkpWzFdIDogZm9ybXMoa2V5KVsyXSk7XG4gICAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGx0TG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnbHQnLFxuICBtb250aHMgOiB7XG4gICAgZm9ybWF0OiAnc2F1c2lvX3Zhc2FyaW9fa292b19iYWxhbmTFvmlvX2dlZ3XFvsSXc19iaXLFvmVsaW9fbGllcG9zX3J1Z3BqxavEjWlvX3J1Z3PEl2pvX3NwYWxpb19sYXBrcmnEjWlvX2dydW9kxb5pbycuc3BsaXQoJ18nKSxcbiAgICBzdGFuZGFsb25lOiAnc2F1c2lzX3Zhc2FyaXNfa292YXNfYmFsYW5kaXNfZ2VndcW+xJdfYmlyxb5lbGlzX2xpZXBhX3J1Z3Bqxat0aXNfcnVnc8SXamlzX3NwYWxpc19sYXBrcml0aXNfZ3J1b2Rpcycuc3BsaXQoJ18nKSxcbiAgICBpc0Zvcm1hdDogL0Rbb0RdPyhcXFtbXlxcW1xcXV0qXFxdfFxccykrTU1NTT98TU1NTT8oXFxbW15cXFtcXF1dKlxcXXxcXHMpK0Rbb0RdPy9cbiAgfSxcbiAgbW9udGhzU2hvcnQgOiAnc2F1X3Zhc19rb3ZfYmFsX2dlZ19iaXJfbGllX3JncF9yZ3Nfc3BhX2xhcF9ncmQnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzIDoge1xuICAgICAgZm9ybWF0OiAnc2VrbWFkaWVuxK9fcGlybWFkaWVuxK9fYW50cmFkaWVuxK9fdHJlxI1pYWRpZW7Er19rZXR2aXJ0YWRpZW7Er19wZW5rdGFkaWVuxK9fxaFlxaF0YWRpZW7Erycuc3BsaXQoJ18nKSxcbiAgICAgIHN0YW5kYWxvbmU6ICdzZWttYWRpZW5pc19waXJtYWRpZW5pc19hbnRyYWRpZW5pc190cmXEjWlhZGllbmlzX2tldHZpcnRhZGllbmlzX3Blbmt0YWRpZW5pc1/FoWXFoXRhZGllbmlzJy5zcGxpdCgnXycpLFxuICAgICAgaXNGb3JtYXQ6IC9kZGRkIEhIOm1tL1xuICB9LFxuICB3ZWVrZGF5c1Nob3J0IDogJ1Nla19QaXJfQW50X1RyZV9LZXRfUGVuX8WgZcWhJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbiA6ICdTX1BfQV9UX0tfUG5fxaAnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzUGFyc2VFeGFjdCA6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0IDoge1xuICAgICAgTFQgOiAnSEg6bW0nLFxuICAgICAgTFRTIDogJ0hIOm1tOnNzJyxcbiAgICAgIEwgOiAnWVlZWS1NTS1ERCcsXG4gICAgICBMTCA6ICdZWVlZIFttLl0gTU1NTSBEIFtkLl0nLFxuICAgICAgTExMIDogJ1lZWVkgW20uXSBNTU1NIEQgW2QuXSwgSEg6bW0gW3ZhbC5dJyxcbiAgICAgIExMTEwgOiAnWVlZWSBbbS5dIE1NTU0gRCBbZC5dLCBkZGRkLCBISDptbSBbdmFsLl0nLFxuICAgICAgbCA6ICdZWVlZLU1NLUREJyxcbiAgICAgIGxsIDogJ1lZWVkgW20uXSBNTU1NIEQgW2QuXScsXG4gICAgICBsbGwgOiAnWVlZWSBbbS5dIE1NTU0gRCBbZC5dLCBISDptbSBbdmFsLl0nLFxuICAgICAgbGxsbCA6ICdZWVlZIFttLl0gTU1NTSBEIFtkLl0sIGRkZCwgSEg6bW0gW3ZhbC5dJ1xuICB9LFxuICBjYWxlbmRhciA6IHtcbiAgICAgIHNhbWVEYXkgOiAnW8WgaWFuZGllbl0gTFQnLFxuICAgICAgbmV4dERheSA6ICdbUnl0b2pdIExUJyxcbiAgICAgIG5leHRXZWVrIDogJ2RkZGQgTFQnLFxuICAgICAgbGFzdERheSA6ICdbVmFrYXJdIExUJyxcbiAgICAgIGxhc3RXZWVrIDogJ1tQcmHEl2p1c8SvXSBkZGRkIExUJyxcbiAgICAgIHNhbWVFbHNlIDogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZSA6IHtcbiAgICAgIGZ1dHVyZSA6ICdwbyAlcycsXG4gICAgICBwYXN0IDogJ3ByaWXFoSAlcycsXG4gICAgICBzIDogdHJhbnNsYXRlU2Vjb25kcyxcbiAgICAgIHNzIDogdHJhbnNsYXRlLFxuICAgICAgbSA6IHRyYW5zbGF0ZVNpbmd1bGFyLFxuICAgICAgbW0gOiB0cmFuc2xhdGUsXG4gICAgICBoIDogdHJhbnNsYXRlU2luZ3VsYXIsXG4gICAgICBoaCA6IHRyYW5zbGF0ZSxcbiAgICAgIGQgOiB0cmFuc2xhdGVTaW5ndWxhcixcbiAgICAgIGRkIDogdHJhbnNsYXRlLFxuICAgICAgTSA6IHRyYW5zbGF0ZVNpbmd1bGFyLFxuICAgICAgTU0gOiB0cmFuc2xhdGUsXG4gICAgICB5IDogdHJhbnNsYXRlU2luZ3VsYXIsXG4gICAgICB5eSA6IHRyYW5zbGF0ZVxuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn0tb2ppLyxcbiAgb3JkaW5hbChudW0pIHtcbiAgICAgIHJldHVybiBudW0gKyAnLW9qaSc7XG4gIH0sXG4gIHdlZWsgOiB7XG4gICAgICBkb3cgOiAxLCAvLyBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICAgIGRveSA6IDQgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDR0aCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcbiJdfQ==","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Matiss Janis Aboltins : https://github.com/matissjanis\nexport const lvLocale = {\n abbr: 'lv',\n months: 'Janvāris_Februāris_Marts_Aprīlis_Maijs_Jūnijs_Jūlijs_Augusts_Septembris_Oktobris_Novembris_Decembris'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mai_Jūn_Jūl_Aug_Sep_Okt_Nov_Dec'.split('_'),\n weekdays: 'Svētdiena_Pirmdiena_Otrdiena_Trešdiena_Ceturtdiena_Piektdiena_Sestdiena'.split('_'),\n weekdaysShort: 'Svētd_Pirmd_Otrd_Trešd_Ceturtd_Piektd_Sestd'.split('_'),\n weekdaysMin: 'Sv_Pi_Ot_Tr_Ce_Pk_Se'.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: 'pēc %s',\n past: 'pirms %s',\n s: 'dažām sekundēm',\n ss: '%d sekundēm',\n m: 'minūtes',\n mm: '%d minūtēm',\n h: 'stundas',\n hh: '%d stundām',\n d: 'dienas',\n dd: '%d dienām',\n M: 'mēneša',\n MM: '%d mēnešiem',\n y: 'gada',\n yy: '%d gadiem'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal(num) {\n return 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2x2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyx5QkFBeUI7QUFDekIsbUVBQW1FO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRyxzR0FBc0csQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFILFdBQVcsRUFBRyxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFFLFFBQVEsRUFBRyx5RUFBeUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9GLGFBQWEsRUFBRyw2Q0FBNkMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hFLFdBQVcsRUFBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9DLGNBQWMsRUFBRztRQUNmLEVBQUUsRUFBRyxPQUFPO1FBQ1osR0FBRyxFQUFHLFVBQVU7UUFDaEIsQ0FBQyxFQUFHLFlBQVk7UUFDaEIsRUFBRSxFQUFHLGFBQWE7UUFDbEIsR0FBRyxFQUFHLG1CQUFtQjtRQUN6QixJQUFJLEVBQUcseUJBQXlCO0tBQ2pDO0lBQ0QsUUFBUSxFQUFHO1FBQ1QsT0FBTyxFQUFHLGVBQWU7UUFDekIsT0FBTyxFQUFHLGtCQUFrQjtRQUM1QixRQUFRLEVBQUcsY0FBYztRQUN6QixPQUFPLEVBQUcsbUJBQW1CO1FBQzdCLFFBQVEsRUFBRyxxQkFBcUI7UUFDaEMsUUFBUSxFQUFHLEdBQUc7S0FDZjtJQUNELFlBQVksRUFBRztRQUNiLE1BQU0sRUFBRyxRQUFRO1FBQ2pCLElBQUksRUFBRyxVQUFVO1FBQ2pCLENBQUMsRUFBRyxnQkFBZ0I7UUFDcEIsRUFBRSxFQUFHLGFBQWE7UUFDbEIsQ0FBQyxFQUFHLFNBQVM7UUFDYixFQUFFLEVBQUcsWUFBWTtRQUNqQixDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxZQUFZO1FBQ2pCLENBQUMsRUFBRyxRQUFRO1FBQ1osRUFBRSxFQUFHLFdBQVc7UUFDaEIsQ0FBQyxFQUFHLFFBQVE7UUFDWixFQUFFLEVBQUcsYUFBYTtRQUNsQixDQUFDLEVBQUcsTUFBTTtRQUNWLEVBQUUsRUFBRyxXQUFXO0tBQ2pCO0lBQ0Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyxPQUFPLENBQUMsR0FBRztRQUNQLE9BQU8sR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxFQUFHO1FBQ0wsR0FBRyxFQUFHLENBQUMsRUFBRSx1Q0FBdUM7UUFDaEQsR0FBRyxFQUFHLENBQUMsQ0FBRSxnRUFBZ0U7S0FDMUU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogTGF0dmlhbiBbbHZdXG4vLyEgYXV0aG9yIDogTWF0aXNzIEphbmlzIEFib2x0aW5zIDogaHR0cHM6Ly9naXRodWIuY29tL21hdGlzc2phbmlzXG5cbmV4cG9ydCBjb25zdCBsdkxvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ2x2JyxcbiAgbW9udGhzIDogJ0phbnbEgXJpc19GZWJydcSBcmlzX01hcnRzX0FwcsSrbGlzX01haWpzX0rFq25panNfSsWrbGlqc19BdWd1c3RzX1NlcHRlbWJyaXNfT2t0b2JyaXNfTm92ZW1icmlzX0RlY2VtYnJpcycuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQgOiAnSmFuX0ZlYl9NYXJfQXByX01haV9KxatuX0rFq2xfQXVnX1NlcF9Pa3RfTm92X0RlYycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXMgOiAnU3bEk3RkaWVuYV9QaXJtZGllbmFfT3RyZGllbmFfVHJlxaFkaWVuYV9DZXR1cnRkaWVuYV9QaWVrdGRpZW5hX1Nlc3RkaWVuYScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydCA6ICdTdsSTdGRfUGlybWRfT3RyZF9UcmXFoWRfQ2V0dXJ0ZF9QaWVrdGRfU2VzdGQnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluIDogJ1N2X1BpX090X1RyX0NlX1BrX1NlJy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdCA6IHtcbiAgICBMVCA6ICdISDptbScsXG4gICAgTFRTIDogJ0hIOm1tOnNzJyxcbiAgICBMIDogJ0REL01NL1lZWVknLFxuICAgIExMIDogJ0QgTU1NTSBZWVlZJyxcbiAgICBMTEwgOiAnRCBNTU1NIFlZWVkgSEg6bW0nLFxuICAgIExMTEwgOiAnZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyIDoge1xuICAgIHNhbWVEYXkgOiAnW1RvZGF5IGF0XSBMVCcsXG4gICAgbmV4dERheSA6ICdbVG9tb3Jyb3cgYXRdIExUJyxcbiAgICBuZXh0V2VlayA6ICdkZGRkIFthdF0gTFQnLFxuICAgIGxhc3REYXkgOiAnW1llc3RlcmRheSBhdF0gTFQnLFxuICAgIGxhc3RXZWVrIDogJ1tMYXN0XSBkZGRkIFthdF0gTFQnLFxuICAgIHNhbWVFbHNlIDogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZSA6IHtcbiAgICBmdXR1cmUgOiAncMSTYyAlcycsXG4gICAgcGFzdCA6ICdwaXJtcyAlcycsXG4gICAgcyA6ICdkYcW+xIFtIHNla3VuZMSTbScsXG4gICAgc3MgOiAnJWQgc2VrdW5kxJNtJyxcbiAgICBtIDogJ21pbsWrdGVzJyxcbiAgICBtbSA6ICclZCBtaW7Fq3TEk20nLFxuICAgIGggOiAnc3R1bmRhcycsXG4gICAgaGggOiAnJWQgc3R1bmTEgW0nLFxuICAgIGQgOiAnZGllbmFzJyxcbiAgICBkZCA6ICclZCBkaWVuxIFtJyxcbiAgICBNIDogJ23Ek25lxaFhJyxcbiAgICBNTSA6ICclZCBtxJNuZcWhaWVtJyxcbiAgICB5IDogJ2dhZGEnLFxuICAgIHl5IDogJyVkIGdhZGllbSdcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9XFwuLyxcbiAgb3JkaW5hbChudW0pIHtcbiAgICAgIHJldHVybiBudW0gKyAnLic7XG4gIH0sXG4gIHdlZWsgOiB7XG4gICAgZG93IDogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95IDogNCAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNHRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\nfunction translate(num, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return num + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return num + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return num + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return num + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return num + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return num + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return num.toString(10);\n }\n}\nexport const mnLocale = {\n abbr: 'mn',\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\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 }\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 (num, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return num + ' өдөр';\n default:\n return num.toString(10);\n }\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL21uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQywyQkFBMkI7QUFDM0Isa0VBQWtFO0FBRWxFLFNBQVMsU0FBUyxDQUFDLEdBQVcsRUFBRSxhQUFzQixFQUFFLEdBQVcsRUFBRSxRQUFpQjtJQUNwRixRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ1osS0FBSyxHQUFHO1lBQ04sT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDN0QsS0FBSyxJQUFJO1lBQ1AsT0FBTyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekQsS0FBSyxHQUFHLENBQUM7UUFDVCxLQUFLLElBQUk7WUFDUCxPQUFPLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxLQUFLLEdBQUcsQ0FBQztRQUNULEtBQUssSUFBSTtZQUNQLE9BQU8sR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELEtBQUssR0FBRyxDQUFDO1FBQ1QsS0FBSyxJQUFJO1lBQ1AsT0FBTyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsS0FBSyxHQUFHLENBQUM7UUFDVCxLQUFLLElBQUk7WUFDUCxPQUFPLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxLQUFLLEdBQUcsQ0FBQztRQUNULEtBQUssSUFBSTtZQUNQLE9BQU8sR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BEO1lBQ0UsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFlO0lBQ2xDLElBQUksRUFBRSxJQUFJO0lBQ1YsTUFBTSxFQUFFLDhMQUE4TCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDak4sV0FBVyxFQUFFLDRFQUE0RSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDcEcsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixRQUFRLEVBQUUsNENBQTRDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNqRSxhQUFhLEVBQUUsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxPQUFPO1FBQ1gsR0FBRyxFQUFFLFVBQVU7UUFDZixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxtQkFBbUI7UUFDdkIsR0FBRyxFQUFFLHlCQUF5QjtRQUM5QixJQUFJLEVBQUUsK0JBQStCO0tBQ3RDO0lBQ0QsYUFBYSxFQUFFLFFBQVE7SUFDdkIsSUFBSSxFQUFFLFVBQVUsS0FBSztRQUNuQixPQUFPLEtBQUssS0FBSyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUNELFFBQVEsRUFBRSxVQUFVLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTztRQUN2QyxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNkLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLGNBQWM7UUFDdkIsT0FBTyxFQUFFLGNBQWM7UUFDdkIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixPQUFPLEVBQUUsY0FBYztRQUN2QixRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsVUFBVTtRQUNsQixJQUFJLEVBQUUsU0FBUztRQUNmLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFNBQVM7UUFDYixDQUFDLEVBQUUsU0FBUztRQUNaLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFNBQVM7UUFDYixDQUFDLEVBQUUsU0FBUztRQUNaLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsU0FBUztLQUNkO0lBQ0Qsc0JBQXNCLEVBQUUsY0FBYztJQUN0QyxPQUFPLEVBQUUsVUFBVSxHQUFXLEVBQUUsTUFBYztRQUM1QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssS0FBSztnQkFDUixPQUFPLEdBQUcsR0FBRyxPQUFPLENBQUM7WUFDdkI7Z0JBQ0UsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IE1vbmdvbGlhbiBbbW5dXG4vLyEgYXV0aG9yIDogSmF2a2hsYW50dWdzIE55YW1kb3JqIDogaHR0cHM6Ly9naXRodWIuY29tL2phdmtoYWFuajdcblxuZnVuY3Rpb24gdHJhbnNsYXRlKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBrZXk6IHN0cmluZywgaXNGdXR1cmU6IGJvb2xlYW4pIHtcbiAgc3dpdGNoIChrZXkpIHtcbiAgICBjYXNlICdzJzpcbiAgICAgIHJldHVybiB3aXRob3V0U3VmZml4ID8gJ9GF0Y3QtNGF0Y3QvSDRgdC10LrRg9C90LQnIDogJ9GF0Y3QtNGF0Y3QvSDRgdC10LrRg9C90LTRi9C9JztcbiAgICBjYXNlICdzcyc6XG4gICAgICByZXR1cm4gbnVtICsgKHdpdGhvdXRTdWZmaXggPyAnINGB0LXQutGD0L3QtCcgOiAnINGB0LXQutGD0L3QtNGL0L0nKTtcbiAgICBjYXNlICdtJzpcbiAgICBjYXNlICdtbSc6XG4gICAgICByZXR1cm4gbnVtICsgKHdpdGhvdXRTdWZmaXggPyAnINC80LjQvdGD0YInIDogJyDQvNC40L3Rg9GC0YvQvScpO1xuICAgIGNhc2UgJ2gnOlxuICAgIGNhc2UgJ2hoJzpcbiAgICAgIHJldHVybiBudW0gKyAod2l0aG91dFN1ZmZpeCA/ICcg0YbQsNCzJyA6ICcg0YbQsNCz0LjQudC9Jyk7XG4gICAgY2FzZSAnZCc6XG4gICAgY2FzZSAnZGQnOlxuICAgICAgcmV0dXJuIG51bSArICh3aXRob3V0U3VmZml4ID8gJyDTqdC006nRgCcgOiAnINOp0LTRgNC40LnQvScpO1xuICAgIGNhc2UgJ00nOlxuICAgIGNhc2UgJ01NJzpcbiAgICAgIHJldHVybiBudW0gKyAod2l0aG91dFN1ZmZpeCA/ICcg0YHQsNGAJyA6ICcg0YHQsNGA0YvQvScpO1xuICAgIGNhc2UgJ3knOlxuICAgIGNhc2UgJ3l5JzpcbiAgICAgIHJldHVybiBudW0gKyAod2l0aG91dFN1ZmZpeCA/ICcg0LbQuNC7JyA6ICcg0LbQuNC70LjQudC9Jyk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudW0udG9TdHJpbmcoMTApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBtbkxvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ21uJyxcbiAgbW9udGhzOiAn0J3RjdCz0LTSr9Cz0Y3RjdGAINGB0LDRgF/QpdC+0ZHRgNC00YPQs9Cw0LDRgCDRgdCw0YBf0JPRg9GA0LDQstC00YPQs9Cw0LDRgCDRgdCw0YBf0JTTqdGA06nQstC00q/Qs9GN0Y3RgCDRgdCw0YBf0KLQsNCy0LTRg9Cz0LDQsNGAINGB0LDRgF/Ql9GD0YDQs9Cw0LTRg9Cz0LDQsNGAINGB0LDRgF/QlNC+0LvQtNGD0LPQsNCw0YAg0YHQsNGAX9Cd0LDQudC80LTRg9Cz0LDQsNGAINGB0LDRgF/QldGB0LTSr9Cz0Y3RjdGAINGB0LDRgF/QkNGA0LDQstC00YPQs9Cw0LDRgCDRgdCw0YBf0JDRgNCy0LDQvSDQvdGN0LPQtNKv0LPRjdGN0YAg0YHQsNGAX9CQ0YDQstCw0L0g0YXQvtGR0YDQtNGD0LPQsNCw0YAg0YHQsNGAJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydDogJzEg0YHQsNGAXzIg0YHQsNGAXzMg0YHQsNGAXzQg0YHQsNGAXzUg0YHQsNGAXzYg0YHQsNGAXzcg0YHQsNGAXzgg0YHQsNGAXzkg0YHQsNGAXzEwINGB0LDRgF8xMSDRgdCw0YBfMTIg0YHQsNGAJy5zcGxpdCgnXycpLFxuICBtb250aHNQYXJzZUV4YWN0OiB0cnVlLFxuICB3ZWVrZGF5czogJ9Cd0Y/QvF/QlNCw0LLQsNCwX9Cc0Y/Qs9C80LDRgF/Qm9GF0LDQs9Cy0LBf0J/Sr9GA0Y3Qsl/QkdCw0LDRgdCw0L1f0JHRj9C80LHQsCcuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ9Cd0Y/QvF/QlNCw0LJf0JzRj9CzX9Cb0YXQsF/Qn9Kv0YBf0JHQsNCwX9CR0Y/QvCcuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICfQndGPX9CU0LBf0JzRj1/Qm9GFX9Cf0q9f0JHQsF/QkdGPJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1BhcnNlRXhhY3Q6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdISDptbScsXG4gICAgTFRTOiAnSEg6bW06c3MnLFxuICAgIEw6ICdZWVlZLU1NLUREJyxcbiAgICBMTDogJ1lZWVkg0L7QvdGLIE1NTU3Ri9C9IEQnLFxuICAgIExMTDogJ1lZWVkg0L7QvdGLIE1NTU3Ri9C9IEQgSEg6bW0nLFxuICAgIExMTEw6ICdkZGRkLCBZWVlZINC+0L3RiyBNTU1N0YvQvSBEIEhIOm1tJ1xuICB9LFxuICBtZXJpZGllbVBhcnNlOiAv0q7TqHzSrtClL2ksXG4gIGlzUE06IGZ1bmN0aW9uIChpbnB1dCkge1xuICAgIHJldHVybiBpbnB1dCA9PT0gJ9Ku0KUnO1xuICB9LFxuICBtZXJpZGllbTogZnVuY3Rpb24gKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgIGlmIChob3VyIDwgMTIpIHtcbiAgICAgIHJldHVybiAn0q7TqCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAn0q7QpSc7XG4gICAgfVxuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXk6ICdb06jQvdOp06nQtNOp0YBdIExUJyxcbiAgICBuZXh0RGF5OiAnW9Cc0LDRgNCz0LDQsNGIXSBMVCcsXG4gICAgbmV4dFdlZWs6ICdb0JjRgNGN0YVdIGRkZGQgTFQnLFxuICAgIGxhc3REYXk6ICdb06jRh9C40LPQtNOp0YBdIExUJyxcbiAgICBsYXN0V2VlazogJ1vTqNC90LPTqdGA0YHTqdC9XSBkZGRkIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJyVzINC00LDRgNCw0LAnLFxuICAgIHBhc3Q6ICclcyDTqdC80L3TqScsXG4gICAgczogdHJhbnNsYXRlLFxuICAgIHNzOiB0cmFuc2xhdGUsXG4gICAgbTogdHJhbnNsYXRlLFxuICAgIG1tOiB0cmFuc2xhdGUsXG4gICAgaDogdHJhbnNsYXRlLFxuICAgIGhoOiB0cmFuc2xhdGUsXG4gICAgZDogdHJhbnNsYXRlLFxuICAgIGRkOiB0cmFuc2xhdGUsXG4gICAgTTogdHJhbnNsYXRlLFxuICAgIE1NOiB0cmFuc2xhdGUsXG4gICAgeTogdHJhbnNsYXRlLFxuICAgIHl5OiB0cmFuc2xhdGVcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9INOp0LTTqdGALyxcbiAgb3JkaW5hbDogZnVuY3Rpb24gKG51bTogbnVtYmVyLCBwZXJpb2Q6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChwZXJpb2QpIHtcbiAgICAgIGNhc2UgJ2QnOlxuICAgICAgY2FzZSAnRCc6XG4gICAgICBjYXNlICdEREQnOlxuICAgICAgICByZXR1cm4gbnVtICsgJyDTqdC006nRgCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVtLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gIH1cbn07XG4iXX0=","//! 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\nexport const nbLocale = {\n abbr: 'nb',\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_april_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: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n M: 'en 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL25iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyxrQ0FBa0M7QUFDbEMsNERBQTREO0FBQzVELDJEQUEyRDtBQUUzRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsb0ZBQW9GLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RyxXQUFXLEVBQUUsNkRBQTZELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNyRixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFFBQVEsRUFBRSxvREFBb0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3pFLGFBQWEsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzlDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsY0FBYyxFQUFFO1FBQ2QsRUFBRSxFQUFFLE9BQU87UUFDWCxHQUFHLEVBQUUsVUFBVTtRQUNmLENBQUMsRUFBRSxZQUFZO1FBQ2YsRUFBRSxFQUFFLGNBQWM7UUFDbEIsR0FBRyxFQUFFLDBCQUEwQjtRQUMvQixJQUFJLEVBQUUsK0JBQStCO0tBQ3RDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsUUFBUSxFQUFFLHlCQUF5QjtRQUNuQyxRQUFRLEVBQUUsR0FBRztLQUNkO0lBQ0QsWUFBWSxFQUFFO1FBQ1osTUFBTSxFQUFFLE9BQU87UUFDZixJQUFJLEVBQUUsVUFBVTtRQUNoQixDQUFDLEVBQUUsZUFBZTtRQUNsQixFQUFFLEVBQUUsYUFBYTtRQUNqQixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxhQUFhO1FBQ2pCLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFVBQVU7UUFDZCxDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxVQUFVO1FBQ2QsQ0FBQyxFQUFFLFVBQVU7UUFDYixFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxPQUFPO0tBQ1o7SUFDRCxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBQyxnRUFBZ0U7S0FDeEU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogTm9yd2VnaWFuIEJva23DpWwgW25iXVxuLy8hIGF1dGhvcnMgOiBFc3BlbiBIb3ZsYW5kc2RhbCA6IGh0dHBzOi8vZ2l0aHViLmNvbS9yZXh4YXJzXG4vLyEgICAgICAgICAgIFNpZ3VyZCBHYXJ0bWFubiA6IGh0dHBzOi8vZ2l0aHViLmNvbS9zaWd1cmRnYVxuXG5leHBvcnQgY29uc3QgbmJMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICduYicsXG4gIG1vbnRoczogJ2phbnVhcl9mZWJydWFyX21hcnNfYXByaWxfbWFpX2p1bmlfanVsaV9hdWd1c3Rfc2VwdGVtYmVyX29rdG9iZXJfbm92ZW1iZXJfZGVzZW1iZXInLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0OiAnamFuLl9mZWIuX21hcnNfYXByaWxfbWFpX2p1bmlfanVsaV9hdWcuX3NlcC5fb2t0Ll9ub3YuX2Rlcy4nLnNwbGl0KCdfJyksXG4gIG1vbnRoc1BhcnNlRXhhY3Q6IHRydWUsXG4gIHdlZWtkYXlzOiAnc8O4bmRhZ19tYW5kYWdfdGlyc2RhZ19vbnNkYWdfdG9yc2RhZ19mcmVkYWdfbMO4cmRhZycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ3PDuC5fbWEuX3RpLl9vbi5fdG8uX2ZyLl9sw7guJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ3PDuF9tYV90aV9vbl90b19mcl9sw7gnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0hIOm1tJyxcbiAgICBMVFM6ICdISDptbTpzcycsXG4gICAgTDogJ0RELk1NLllZWVknLFxuICAgIExMOiAnRC4gTU1NTSBZWVlZJyxcbiAgICBMTEw6ICdELiBNTU1NIFlZWVkgW2tsLl0gSEg6bW0nLFxuICAgIExMTEw6ICdkZGRkIEQuIE1NTU0gWVlZWSBba2wuXSBISDptbSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW2kgZGFnIGtsLl0gTFQnLFxuICAgIG5leHREYXk6ICdbaSBtb3JnZW4ga2wuXSBMVCcsXG4gICAgbmV4dFdlZWs6ICdkZGRkIFtrbC5dIExUJyxcbiAgICBsYXN0RGF5OiAnW2kgZ8OlciBrbC5dIExUJyxcbiAgICBsYXN0V2VlazogJ1tmb3JyaWdlXSBkZGRkIFtrbC5dIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ29tICVzJyxcbiAgICBwYXN0OiAnJXMgc2lkZW4nLFxuICAgIHM6ICdub2VuIHNla3VuZGVyJyxcbiAgICBzczogJyVkIHNla3VuZGVyJyxcbiAgICBtOiAnZXR0IG1pbnV0dCcsXG4gICAgbW06ICclZCBtaW51dHRlcicsXG4gICAgaDogJ2VuIHRpbWUnLFxuICAgIGhoOiAnJWQgdGltZXInLFxuICAgIGQ6ICdlbiBkYWcnLFxuICAgIGRkOiAnJWQgZGFnZXInLFxuICAgIE06ICdlbiBtw6VuZWQnLFxuICAgIE1NOiAnJWQgbcOlbmVkZXInLFxuICAgIHk6ICdldHQgw6VyJyxcbiAgICB5eTogJyVkIMOlcidcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9XFwuLyxcbiAgb3JkaW5hbDogJyVkLicsXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNCAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","import { getMonth } from '../utils/date-getters';\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\nlet monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\nlet monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\nlet monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nlet monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\nexport const nlBeLocale = {\n abbr: 'nl-be',\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort(date, format, isUTC) {\n if (!date) {\n return monthsShortWithDots;\n }\n else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[getMonth(date, isUTC)];\n }\n else {\n return monthsShortWithDots[getMonth(date, isUTC)];\n }\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: '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(_num) {\n const num = Number(_num);\n return num + ((num === 1 || num === 8 || num >= 20) ? 'ste' : 'de');\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmwtYmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL25sLWJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxrQ0FBa0M7QUFDbEMsb0NBQW9DO0FBQ3BDLDBEQUEwRDtBQUMxRCxzREFBc0Q7QUFFdEQsSUFBSSxtQkFBbUIsR0FBRyw0REFBNEQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEcsSUFBSSxzQkFBc0IsR0FBRyxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFMUYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDckosSUFBSSxXQUFXLEdBQUcsMEtBQTBLLENBQUM7QUFFN0wsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFlO0lBQ3BDLElBQUksRUFBRSxPQUFPO0lBQ2IsTUFBTSxFQUFFLHlGQUF5RixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDNUcsV0FBVyxDQUFDLElBQVUsRUFBRSxNQUFjLEVBQUUsS0FBZTtRQUNyRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPLG1CQUFtQixDQUFDO1FBQzdCLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztJQUNYLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsaUJBQWlCLEVBQUUsMkZBQTJGO0lBQzlHLHNCQUFzQixFQUFFLGtGQUFrRjtJQUUxRyxXQUFXO0lBQ1gsZUFBZSxFQUFFLFdBQVc7SUFDNUIsZ0JBQWdCLEVBQUUsV0FBVztJQUU3QixRQUFRLEVBQUUsNERBQTRELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNqRixhQUFhLEVBQUUsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxPQUFPO1FBQ1gsR0FBRyxFQUFFLFVBQVU7UUFDZixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxhQUFhO1FBQ2pCLEdBQUcsRUFBRSxtQkFBbUI7UUFDeEIsSUFBSSxFQUFFLHdCQUF3QjtLQUMvQjtJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixRQUFRLEVBQUUsY0FBYztRQUN4QixPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLElBQUksRUFBRSxZQUFZO1FBQ2xCLENBQUMsRUFBRSxtQkFBbUI7UUFDdEIsRUFBRSxFQUFFLGFBQWE7UUFDakIsQ0FBQyxFQUFFLFlBQVk7UUFDZixFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsU0FBUztRQUNaLEVBQUUsRUFBRSxRQUFRO1FBQ1osQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsVUFBVTtRQUNkLENBQUMsRUFBRSxXQUFXO1FBQ2QsRUFBRSxFQUFFLFlBQVk7UUFDaEIsQ0FBQyxFQUFFLFVBQVU7UUFDYixFQUFFLEVBQUUsU0FBUztLQUNkO0lBQ0Qsc0JBQXNCLEVBQUUsaUJBQWlCO0lBQ3pDLE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBRSxnRUFBZ0U7S0FDekU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuaW1wb3J0IHsgZ2V0TW9udGggfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogRHV0Y2ggKEJlbGdpdW0pIFtubC1iZV1cbi8vISBhdXRob3IgOiBKb3JpcyBSw7ZsaW5nIDogaHR0cHM6Ly9naXRodWIuY29tL2pvcmlzcm9saW5nXG4vLyEgYXV0aG9yIDogSmFjb2IgTWlkZGFnIDogaHR0cHM6Ly9naXRodWIuY29tL21pZGRhZ2pcblxubGV0IG1vbnRoc1Nob3J0V2l0aERvdHMgPSAnamFuLl9mZWIuX21ydC5fYXByLl9tZWlfanVuLl9qdWwuX2F1Zy5fc2VwLl9va3QuX25vdi5fZGVjLicuc3BsaXQoJ18nKTtcbmxldCBtb250aHNTaG9ydFdpdGhvdXREb3RzID0gJ2phbl9mZWJfbXJ0X2Fwcl9tZWlfanVuX2p1bF9hdWdfc2VwX29rdF9ub3ZfZGVjJy5zcGxpdCgnXycpO1xuXG5sZXQgbW9udGhzUGFyc2UgPSBbL15qYW4vaSwgL15mZWIvaSwgL15tYWFydHxtcnQuPyQvaSwgL15hcHIvaSwgL15tZWkkL2ksIC9eanVuW2kuXT8kL2ksIC9eanVsW2kuXT8kL2ksIC9eYXVnL2ksIC9ec2VwL2ksIC9eb2t0L2ksIC9ebm92L2ksIC9eZGVjL2ldO1xubGV0IG1vbnRoc1JlZ2V4ID0gL14oamFudWFyaXxmZWJydWFyaXxtYWFydHxhcHJpbHxtZWl8YXByaWx8anVbbmxdaXxhdWd1c3R1c3xzZXB0ZW1iZXJ8b2t0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcnxqYW5cXC4/fGZlYlxcLj98bXJ0XFwuP3xhcHJcXC4/fGp1W25sXVxcLj98YXVnXFwuP3xzZXBcXC4/fG9rdFxcLj98bm92XFwuP3xkZWNcXC4/KS9pO1xuXG5leHBvcnQgY29uc3QgbmxCZUxvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ25sLWJlJyxcbiAgbW9udGhzOiAnamFudWFyaV9mZWJydWFyaV9tYWFydF9hcHJpbF9tZWlfanVuaV9qdWxpX2F1Z3VzdHVzX3NlcHRlbWJlcl9va3RvYmVyX25vdmVtYmVyX2RlY2VtYmVyJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydChkYXRlOiBEYXRlLCBmb3JtYXQ6IHN0cmluZywgaXNVVEM/OiBib29sZWFuKTogc3RyaW5nIHwgc3RyaW5nW10ge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIG1vbnRoc1Nob3J0V2l0aERvdHM7XG4gICAgfSBlbHNlIGlmICgvLU1NTS0vLnRlc3QoZm9ybWF0KSkge1xuICAgICAgcmV0dXJuIG1vbnRoc1Nob3J0V2l0aG91dERvdHNbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1vbnRoc1Nob3J0V2l0aERvdHNbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgICB9XG4gIH0sXG5cbiAgbW9udGhzUmVnZXgsXG4gIG1vbnRoc1Nob3J0UmVnZXg6IG1vbnRoc1JlZ2V4LFxuICBtb250aHNTdHJpY3RSZWdleDogL14oamFudWFyaXxmZWJydWFyaXxtYWFydHxtZWl8anVbbmxdaXxhcHJpbHxhdWd1c3R1c3xzZXB0ZW1iZXJ8b2t0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcikvaSxcbiAgbW9udGhzU2hvcnRTdHJpY3RSZWdleDogL14oamFuXFwuP3xmZWJcXC4/fG1ydFxcLj98YXByXFwuP3xtZWl8anVbbmxdXFwuP3xhdWdcXC4/fHNlcFxcLj98b2t0XFwuP3xub3ZcXC4/fGRlY1xcLj8pL2ksXG5cbiAgbW9udGhzUGFyc2UsXG4gIGxvbmdNb250aHNQYXJzZTogbW9udGhzUGFyc2UsXG4gIHNob3J0TW9udGhzUGFyc2U6IG1vbnRoc1BhcnNlLFxuXG4gIHdlZWtkYXlzOiAnem9uZGFnX21hYW5kYWdfZGluc2RhZ193b2Vuc2RhZ19kb25kZXJkYWdfdnJpamRhZ196YXRlcmRhZycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ3pvLl9tYS5fZGkuX3dvLl9kby5fdnIuX3phLicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICd6b19tYV9kaV93b19kb192cl96YScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNQYXJzZUV4YWN0OiB0cnVlLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnSEg6bW0nLFxuICAgIExUUzogJ0hIOm1tOnNzJyxcbiAgICBMOiAnREQvTU0vWVlZWScsXG4gICAgTEw6ICdEIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRCBNTU1NIFlZWVkgSEg6bW0nLFxuICAgIExMTEw6ICdkZGRkIEQgTU1NTSBZWVlZIEhIOm1tJ1xuICB9LFxuICBjYWxlbmRhcjoge1xuICAgIHNhbWVEYXk6ICdbdmFuZGFhZyBvbV0gTFQnLFxuICAgIG5leHREYXk6ICdbbW9yZ2VuIG9tXSBMVCcsXG4gICAgbmV4dFdlZWs6ICdkZGRkIFtvbV0gTFQnLFxuICAgIGxhc3REYXk6ICdbZ2lzdGVyZW4gb21dIExUJyxcbiAgICBsYXN0V2VlazogJ1thZmdlbG9wZW5dIGRkZGQgW29tXSBMVCcsXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICdvdmVyICVzJyxcbiAgICBwYXN0OiAnJXMgZ2VsZWRlbicsXG4gICAgczogJ2VlbiBwYWFyIHNlY29uZGVuJyxcbiAgICBzczogJyVkIHNlY29uZGVuJyxcbiAgICBtOiAnw6nDqW4gbWludXV0JyxcbiAgICBtbTogJyVkIG1pbnV0ZW4nLFxuICAgIGg6ICfDqcOpbiB1dXInLFxuICAgIGhoOiAnJWQgdXVyJyxcbiAgICBkOiAnw6nDqW4gZGFnJyxcbiAgICBkZDogJyVkIGRhZ2VuJyxcbiAgICBNOiAnw6nDqW4gbWFhbmQnLFxuICAgIE1NOiAnJWQgbWFhbmRlbicsXG4gICAgeTogJ8Opw6luIGphYXInLFxuICAgIHl5OiAnJWQgamFhcidcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9KHN0ZXxkZSkvLFxuICBvcmRpbmFsKF9udW06IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtID0gTnVtYmVyKF9udW0pO1xuICAgIHJldHVybiBudW0gKyAoKG51bSA9PT0gMSB8fCBudW0gPT09IDggfHwgbnVtID49IDIwKSA/ICdzdGUnIDogJ2RlJyk7XG4gIH0sXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNCAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNHRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","import { getMonth } from '../utils/date-getters';\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\nlet monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\nlet monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nlet monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\nexport const nlLocale = {\n abbr: 'nl',\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort(date, format, isUTC) {\n if (!date) {\n return monthsShortWithDots;\n }\n else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[getMonth(date, isUTC)];\n }\n else {\n return monthsShortWithDots[getMonth(date, isUTC)];\n }\n },\n monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: '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(_num) {\n const num = Number(_num);\n return num + ((num === 1 || num === 8 || num >= 20) ? 'ste' : 'de');\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL25sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxrQ0FBa0M7QUFDbEMsdUJBQXVCO0FBQ3ZCLDBEQUEwRDtBQUMxRCxzREFBc0Q7QUFFdEQsSUFBSSxtQkFBbUIsR0FBRyw0REFBNEQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQy9GLHNCQUFzQixHQUFHLGlEQUFpRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUV4RixJQUFJLFdBQVcsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNySixJQUFJLFdBQVcsR0FBRywwS0FBMEssQ0FBQztBQUU3TCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUcseUZBQXlGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM3RyxXQUFXLENBQUUsSUFBVSxFQUFFLE1BQWMsRUFBRSxLQUFlO1FBQ3RELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sbUJBQW1CLENBQUM7UUFDN0IsQ0FBQzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO0lBQ1gsZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixpQkFBaUIsRUFBRSwyRkFBMkY7SUFDOUcsc0JBQXNCLEVBQUUsa0ZBQWtGO0lBRTFHLFdBQVc7SUFDWCxlQUFlLEVBQUcsV0FBVztJQUM3QixnQkFBZ0IsRUFBRyxXQUFXO0lBRTlCLFFBQVEsRUFBRyw0REFBNEQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2xGLGFBQWEsRUFBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hELFdBQVcsRUFBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9DLGtCQUFrQixFQUFHLElBQUk7SUFDekIsY0FBYyxFQUFHO1FBQ2YsRUFBRSxFQUFHLE9BQU87UUFDWixHQUFHLEVBQUcsVUFBVTtRQUNoQixDQUFDLEVBQUcsWUFBWTtRQUNoQixFQUFFLEVBQUcsYUFBYTtRQUNsQixHQUFHLEVBQUcsbUJBQW1CO1FBQ3pCLElBQUksRUFBRyx3QkFBd0I7S0FDaEM7SUFDRCxRQUFRLEVBQUc7UUFDVCxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsUUFBUSxFQUFFLGNBQWM7UUFDeEIsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUc7UUFDYixNQUFNLEVBQUcsU0FBUztRQUNsQixJQUFJLEVBQUcsWUFBWTtRQUNuQixDQUFDLEVBQUcsbUJBQW1CO1FBQ3ZCLEVBQUUsRUFBRyxhQUFhO1FBQ2xCLENBQUMsRUFBRyxZQUFZO1FBQ2hCLEVBQUUsRUFBRyxZQUFZO1FBQ2pCLENBQUMsRUFBRyxTQUFTO1FBQ2IsRUFBRSxFQUFHLFFBQVE7UUFDYixDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxVQUFVO1FBQ2YsQ0FBQyxFQUFHLFdBQVc7UUFDZixFQUFFLEVBQUcsWUFBWTtRQUNqQixDQUFDLEVBQUcsVUFBVTtRQUNkLEVBQUUsRUFBRyxTQUFTO0tBQ2Y7SUFDRCxzQkFBc0IsRUFBRSxpQkFBaUI7SUFDekMsT0FBTyxDQUFFLElBQVk7UUFDbkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxJQUFJLEVBQUc7UUFDTCxHQUFHLEVBQUcsQ0FBQyxFQUFFLHVDQUF1QztRQUNoRCxHQUFHLEVBQUcsQ0FBQyxDQUFFLGdFQUFnRTtLQUMxRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBnZXRNb250aCB9IGZyb20gJy4uL3V0aWxzL2RhdGUtZ2V0dGVycyc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBEdXRjaCBbbmxdXG4vLyEgYXV0aG9yIDogSm9yaXMgUsO2bGluZyA6IGh0dHBzOi8vZ2l0aHViLmNvbS9qb3Jpc3JvbGluZ1xuLy8hIGF1dGhvciA6IEphY29iIE1pZGRhZyA6IGh0dHBzOi8vZ2l0aHViLmNvbS9taWRkYWdqXG5cbmxldCBtb250aHNTaG9ydFdpdGhEb3RzID0gJ2phbi5fZmViLl9tcnQuX2Fwci5fbWVpX2p1bi5fanVsLl9hdWcuX3NlcC5fb2t0Ll9ub3YuX2RlYy4nLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0V2l0aG91dERvdHMgPSAnamFuX2ZlYl9tcnRfYXByX21laV9qdW5fanVsX2F1Z19zZXBfb2t0X25vdl9kZWMnLnNwbGl0KCdfJyk7XG5cbmxldCBtb250aHNQYXJzZSA9IFsvXmphbi9pLCAvXmZlYi9pLCAvXm1hYXJ0fG1ydC4/JC9pLCAvXmFwci9pLCAvXm1laSQvaSwgL15qdW5baS5dPyQvaSwgL15qdWxbaS5dPyQvaSwgL15hdWcvaSwgL15zZXAvaSwgL15va3QvaSwgL15ub3YvaSwgL15kZWMvaV07XG5sZXQgbW9udGhzUmVnZXggPSAvXihqYW51YXJpfGZlYnJ1YXJpfG1hYXJ0fGFwcmlsfG1laXxhcHJpbHxqdVtubF1pfGF1Z3VzdHVzfHNlcHRlbWJlcnxva3RvYmVyfG5vdmVtYmVyfGRlY2VtYmVyfGphblxcLj98ZmViXFwuP3xtcnRcXC4/fGFwclxcLj98anVbbmxdXFwuP3xhdWdcXC4/fHNlcFxcLj98b2t0XFwuP3xub3ZcXC4/fGRlY1xcLj8pL2k7XG5cbmV4cG9ydCBjb25zdCBubExvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ25sJyxcbiAgbW9udGhzIDogJ2phbnVhcmlfZmVicnVhcmlfbWFhcnRfYXByaWxfbWVpX2p1bmlfanVsaV9hdWd1c3R1c19zZXB0ZW1iZXJfb2t0b2Jlcl9ub3ZlbWJlcl9kZWNlbWJlcicuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQgKGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nLCBpc1VUQz86IGJvb2xlYW4pOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnRXaXRoRG90cztcbiAgICB9IGVsc2UgaWYgKC8tTU1NLS8udGVzdChmb3JtYXQpKSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnRXaXRob3V0RG90c1tnZXRNb250aChkYXRlLCBpc1VUQyldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbW9udGhzU2hvcnRXaXRoRG90c1tnZXRNb250aChkYXRlLCBpc1VUQyldO1xuICAgIH1cbiAgfSxcblxuICBtb250aHNSZWdleCxcbiAgbW9udGhzU2hvcnRSZWdleDogbW9udGhzUmVnZXgsXG4gIG1vbnRoc1N0cmljdFJlZ2V4OiAvXihqYW51YXJpfGZlYnJ1YXJpfG1hYXJ0fG1laXxqdVtubF1pfGFwcmlsfGF1Z3VzdHVzfHNlcHRlbWJlcnxva3RvYmVyfG5vdmVtYmVyfGRlY2VtYmVyKS9pLFxuICBtb250aHNTaG9ydFN0cmljdFJlZ2V4OiAvXihqYW5cXC4/fGZlYlxcLj98bXJ0XFwuP3xhcHJcXC4/fG1laXxqdVtubF1cXC4/fGF1Z1xcLj98c2VwXFwuP3xva3RcXC4/fG5vdlxcLj98ZGVjXFwuPykvaSxcblxuICBtb250aHNQYXJzZSxcbiAgbG9uZ01vbnRoc1BhcnNlIDogbW9udGhzUGFyc2UsXG4gIHNob3J0TW9udGhzUGFyc2UgOiBtb250aHNQYXJzZSxcblxuICB3ZWVrZGF5cyA6ICd6b25kYWdfbWFhbmRhZ19kaW5zZGFnX3dvZW5zZGFnX2RvbmRlcmRhZ192cmlqZGFnX3phdGVyZGFnJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0IDogJ3pvLl9tYS5fZGkuX3dvLl9kby5fdnIuX3phLicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW4gOiAnem9fbWFfZGlfd29fZG9fdnJfemEnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzUGFyc2VFeGFjdCA6IHRydWUsXG4gIGxvbmdEYXRlRm9ybWF0IDoge1xuICAgIExUIDogJ0hIOm1tJyxcbiAgICBMVFMgOiAnSEg6bW06c3MnLFxuICAgIEwgOiAnREQtTU0tWVlZWScsXG4gICAgTEwgOiAnRCBNTU1NIFlZWVknLFxuICAgIExMTCA6ICdEIE1NTU0gWVlZWSBISDptbScsXG4gICAgTExMTCA6ICdkZGRkIEQgTU1NTSBZWVlZIEhIOm1tJ1xuICB9LFxuICBjYWxlbmRhciA6IHtcbiAgICBzYW1lRGF5OiAnW3ZhbmRhYWcgb21dIExUJyxcbiAgICBuZXh0RGF5OiAnW21vcmdlbiBvbV0gTFQnLFxuICAgIG5leHRXZWVrOiAnZGRkZCBbb21dIExUJyxcbiAgICBsYXN0RGF5OiAnW2dpc3RlcmVuIG9tXSBMVCcsXG4gICAgbGFzdFdlZWs6ICdbYWZnZWxvcGVuXSBkZGRkIFtvbV0gTFQnLFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lIDoge1xuICAgIGZ1dHVyZSA6ICdvdmVyICVzJyxcbiAgICBwYXN0IDogJyVzIGdlbGVkZW4nLFxuICAgIHMgOiAnZWVuIHBhYXIgc2Vjb25kZW4nLFxuICAgIHNzIDogJyVkIHNlY29uZGVuJyxcbiAgICBtIDogJ8Opw6luIG1pbnV1dCcsXG4gICAgbW0gOiAnJWQgbWludXRlbicsXG4gICAgaCA6ICfDqcOpbiB1dXInLFxuICAgIGhoIDogJyVkIHV1cicsXG4gICAgZCA6ICfDqcOpbiBkYWcnLFxuICAgIGRkIDogJyVkIGRhZ2VuJyxcbiAgICBNIDogJ8Opw6luIG1hYW5kJyxcbiAgICBNTSA6ICclZCBtYWFuZGVuJyxcbiAgICB5IDogJ8Opw6luIGphYXInLFxuICAgIHl5IDogJyVkIGphYXInXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfShzdGV8ZGUpLyxcbiAgb3JkaW5hbCAoX251bTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW0gPSBOdW1iZXIoX251bSk7XG4gICAgcmV0dXJuIG51bSArICgobnVtID09PSAxIHx8IG51bSA9PT0gOCB8fCBudW0gPj0gMjApID8gJ3N0ZScgOiAnZGUnKTtcbiAgfSxcbiAgd2VlayA6IHtcbiAgICBkb3cgOiAxLCAvLyBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3kgOiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","import { getMonth } from '../utils/date-getters';\nimport { getDayOfWeek } from '../units/day-of-week';\n//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\nlet monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_');\nlet monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\nfunction plural(num) {\n return (num % 10 < 5) && (num % 10 > 1) && ((~~(num / 10) % 10) !== 1);\n}\nfunction translate(num, withoutSuffix, key) {\n let result = num + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(num) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(num) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(num) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(num) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(num) ? 'lata' : 'lat');\n }\n}\nexport const plLocale = {\n abbr: 'pl',\n months(date, format, isUTC) {\n if (!date) {\n return monthsNominative;\n }\n else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[getMonth(date, isUTC)] + '|' + monthsNominative[getMonth(date, isUTC)] + ')';\n }\n else if (/D MMMM/.test(format)) {\n return monthsSubjective[getMonth(date, isUTC)];\n }\n else {\n return monthsNominative[getMonth(date, isUTC)];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays: '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(date) {\n switch (getDayOfWeek(date)) {\n case 0:\n return '[W niedzielę o] LT';\n case 2:\n return '[We wtorek o] LT';\n case 3:\n return '[W środę o] LT';\n case 5:\n return '[W piątek o] LT';\n case 6:\n return '[W sobotę o] LT';\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek(date) {\n switch (getDayOfWeek(date)) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 4:\n return '[W zeszłą czwartek o] LT';\n case 5:\n return '[W zeszłą piątek 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 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3BsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsa0NBQWtDO0FBQ2xDLHdCQUF3QjtBQUN4QixrREFBa0Q7QUFFbEQsSUFBSSxnQkFBZ0IsR0FBRyxrR0FBa0csQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDckksSUFBSSxnQkFBZ0IsR0FBRyxvR0FBb0csQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFdkksU0FBUyxNQUFNLENBQUMsR0FBVztJQUN6QixPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsR0FBVyxFQUFFLGFBQXNCLEVBQUUsR0FBVztJQUNqRSxJQUFJLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ3ZCLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDWixLQUFLLElBQUk7WUFDUCxPQUFPLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxLQUFLLEdBQUc7WUFDTixPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDN0MsS0FBSyxJQUFJO1lBQ1AsT0FBTyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsS0FBSyxHQUFHO1lBQ04sT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQy9DLEtBQUssSUFBSTtZQUNQLE9BQU8sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELEtBQUssSUFBSTtZQUNQLE9BQU8sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFELEtBQUssSUFBSTtZQUNQLE9BQU8sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFlO0lBQ2xDLElBQUksRUFBRSxJQUFJO0lBQ1YsTUFBTSxDQUFDLElBQVUsRUFBRSxNQUFjLEVBQUUsS0FBZTtRQUNoRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPLGdCQUFnQixDQUFDO1FBQzFCLENBQUM7YUFBTSxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN6Qix5REFBeUQ7WUFDekQsOERBQThEO1lBQzlELDBCQUEwQjtZQUMxQixPQUFPLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDN0csQ0FBQzthQUFNLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFDRCxXQUFXLEVBQUUsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN6RSxRQUFRLEVBQUUsNERBQTRELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNqRixhQUFhLEVBQUUsMEJBQTBCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNwRCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxjQUFjLEVBQUU7UUFDZCxFQUFFLEVBQUUsT0FBTztRQUNYLEdBQUcsRUFBRSxVQUFVO1FBQ2YsQ0FBQyxFQUFFLFlBQVk7UUFDZixFQUFFLEVBQUUsYUFBYTtRQUNqQixHQUFHLEVBQUUsbUJBQW1CO1FBQ3hCLElBQUksRUFBRSx5QkFBeUI7S0FDaEM7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsYUFBYTtRQUN0QixPQUFPLEVBQUUsY0FBYztRQUN2QixRQUFRLENBQUMsSUFBVTtZQUNqQixRQUFRLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMzQixLQUFLLENBQUM7b0JBQ0osT0FBTyxvQkFBb0IsQ0FBQztnQkFFOUIsS0FBSyxDQUFDO29CQUNKLE9BQU8sa0JBQWtCLENBQUM7Z0JBRTVCLEtBQUssQ0FBQztvQkFDSixPQUFPLGdCQUFnQixDQUFDO2dCQUUxQixLQUFLLENBQUM7b0JBQ0osT0FBTyxpQkFBaUIsQ0FBQztnQkFFM0IsS0FBSyxDQUFDO29CQUNKLE9BQU8saUJBQWlCLENBQUM7Z0JBRTNCO29CQUNFLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLFFBQVEsQ0FBQyxJQUFVO1lBQ2pCLFFBQVEsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLEtBQUssQ0FBQztvQkFDSixPQUFPLDJCQUEyQixDQUFDO2dCQUNyQyxLQUFLLENBQUM7b0JBQ0osT0FBTyx1QkFBdUIsQ0FBQztnQkFDakMsS0FBSyxDQUFDO29CQUNKLE9BQU8sMEJBQTBCLENBQUM7Z0JBQ3BDLEtBQUssQ0FBQztvQkFDSixPQUFPLHdCQUF3QixDQUFDO2dCQUNsQyxLQUFLLENBQUM7b0JBQ0osT0FBTyx3QkFBd0IsQ0FBQztnQkFDbEM7b0JBQ0UsT0FBTyx3QkFBd0IsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztRQUNELFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsQ0FBQyxFQUFFLGNBQWM7UUFDakIsRUFBRSxFQUFFLFNBQVM7UUFDYixDQUFDLEVBQUUsU0FBUztRQUNaLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFFBQVE7UUFDWixDQUFDLEVBQUUsU0FBUztRQUNaLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLEtBQUs7UUFDUixFQUFFLEVBQUUsU0FBUztLQUNkO0lBQ0Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyxPQUFPLEVBQUUsS0FBSztJQUNkLElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRSxDQUFDLEVBQUUsdUNBQXVDO1FBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUUsZ0VBQWdFO0tBQ3pFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGdldE1vbnRoIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IGdldERheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IFBvbGlzaCBbcGxdXG4vLyEgYXV0aG9yIDogUmFmYWwgSGlyc3ogOiBodHRwczovL2dpdGh1Yi5jb20vZXZvTFxuXG5sZXQgbW9udGhzTm9taW5hdGl2ZSA9ICdzdHljemXFhF9sdXR5X21hcnplY19rd2llY2llxYRfbWFqX2N6ZXJ3aWVjX2xpcGllY19zaWVycGllxYRfd3J6ZXNpZcWEX3Bhxbpkemllcm5pa19saXN0b3BhZF9ncnVkemllxYQnLnNwbGl0KCdfJyk7XG5sZXQgbW9udGhzU3ViamVjdGl2ZSA9ICdzdHljem5pYV9sdXRlZ29fbWFyY2Ffa3dpZXRuaWFfbWFqYV9jemVyd2NhX2xpcGNhX3NpZXJwbmlhX3dyemXFm25pYV9wYcW6ZHppZXJuaWthX2xpc3RvcGFkYV9ncnVkbmlhJy5zcGxpdCgnXycpO1xuXG5mdW5jdGlvbiBwbHVyYWwobnVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuIChudW0gJSAxMCA8IDUpICYmIChudW0gJSAxMCA+IDEpICYmICgofn4obnVtIC8gMTApICUgMTApICE9PSAxKTtcbn1cblxuZnVuY3Rpb24gdHJhbnNsYXRlKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSBudW0gKyAnICc7XG4gIHN3aXRjaCAoa2V5KSB7XG4gICAgY2FzZSAnc3MnOlxuICAgICAgcmV0dXJuIHJlc3VsdCArIChwbHVyYWwobnVtKSA/ICdzZWt1bmR5JyA6ICdzZWt1bmQnKTtcbiAgICBjYXNlICdtJzpcbiAgICAgIHJldHVybiB3aXRob3V0U3VmZml4ID8gJ21pbnV0YScgOiAnbWludXTEmSc7XG4gICAgY2FzZSAnbW0nOlxuICAgICAgcmV0dXJuIHJlc3VsdCArIChwbHVyYWwobnVtKSA/ICdtaW51dHknIDogJ21pbnV0Jyk7XG4gICAgY2FzZSAnaCc6XG4gICAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCA/ICdnb2R6aW5hJyA6ICdnb2R6aW7EmSc7XG4gICAgY2FzZSAnaGgnOlxuICAgICAgcmV0dXJuIHJlc3VsdCArIChwbHVyYWwobnVtKSA/ICdnb2R6aW55JyA6ICdnb2R6aW4nKTtcbiAgICBjYXNlICdNTSc6XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKHBsdXJhbChudW0pID8gJ21pZXNpxIVjZScgOiAnbWllc2nEmWN5Jyk7XG4gICAgY2FzZSAneXknOlxuICAgICAgcmV0dXJuIHJlc3VsdCArIChwbHVyYWwobnVtKSA/ICdsYXRhJyA6ICdsYXQnKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgcGxMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdwbCcsXG4gIG1vbnRocyhkYXRlOiBEYXRlLCBmb3JtYXQ6IHN0cmluZywgaXNVVEM/OiBib29sZWFuKTogc3RyaW5nIHwgc3RyaW5nW10ge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIG1vbnRoc05vbWluYXRpdmU7XG4gICAgfSBlbHNlIGlmIChmb3JtYXQgPT09ICcnKSB7XG4gICAgICAvLyBIYWNrOiBpZiBmb3JtYXQgZW1wdHkgd2Uga25vdyB0aGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGVcbiAgICAgIC8vIFJlZ0V4cCBieSBtb21lbnQuIEdpdmUgdGhlbiBiYWNrIGJvdGggdmFsaWQgZm9ybXMgb2YgbW9udGhzXG4gICAgICAvLyBpbiBSZWdFeHAgcmVhZHkgZm9ybWF0LlxuICAgICAgcmV0dXJuICcoJyArIG1vbnRoc1N1YmplY3RpdmVbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXSArICd8JyArIG1vbnRoc05vbWluYXRpdmVbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXSArICcpJztcbiAgICB9IGVsc2UgaWYgKC9EIE1NTU0vLnRlc3QoZm9ybWF0KSkge1xuICAgICAgcmV0dXJuIG1vbnRoc1N1YmplY3RpdmVbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1vbnRoc05vbWluYXRpdmVbZ2V0TW9udGgoZGF0ZSwgaXNVVEMpXTtcbiAgICB9XG4gIH0sXG4gIG1vbnRoc1Nob3J0OiAnc3R5X2x1dF9tYXJfa3dpX21hal9jemVfbGlwX3NpZV93cnpfcGHFul9saXNfZ3J1Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5czogJ25pZWR6aWVsYV9wb25pZWR6aWHFgmVrX3d0b3Jla1/Fm3JvZGFfY3p3YXJ0ZWtfcGnEhXRla19zb2JvdGEnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICduZHpfcG9uX3d0X8Wbcl9jendfcHRfc29iJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ05kX1BuX1d0X8Wacl9Del9QdF9Tbycuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0hIOm1tJyxcbiAgICBMVFM6ICdISDptbTpzcycsXG4gICAgTDogJ0RELk1NLllZWVknLFxuICAgIExMOiAnRCBNTU1NIFlZWVknLFxuICAgIExMTDogJ0QgTU1NTSBZWVlZIEhIOm1tJyxcbiAgICBMTExMOiAnZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheTogJ1tEemnFmyBvXSBMVCcsXG4gICAgbmV4dERheTogJ1tKdXRybyBvXSBMVCcsXG4gICAgbmV4dFdlZWsoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICBzd2l0Y2ggKGdldERheU9mV2VlayhkYXRlKSkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgcmV0dXJuICdbVyBuaWVkemllbMSZIG9dIExUJztcblxuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgcmV0dXJuICdbV2Ugd3RvcmVrIG9dIExUJztcblxuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgcmV0dXJuICdbVyDFm3JvZMSZIG9dIExUJztcblxuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgcmV0dXJuICdbVyBwacSFdGVrIG9dIExUJztcblxuICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgcmV0dXJuICdbVyBzb2JvdMSZIG9dIExUJztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAnW1ddIGRkZGQgW29dIExUJztcbiAgICAgIH1cbiAgICB9LFxuICAgIGxhc3REYXk6ICdbV2N6b3JhaiBvXSBMVCcsXG4gICAgbGFzdFdlZWsoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICBzd2l0Y2ggKGdldERheU9mV2VlayhkYXRlKSkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgcmV0dXJuICdbVyB6ZXN6xYLEhSBuaWVkemllbMSZIG9dIExUJztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIHJldHVybiAnW1cgemVzesWCxIUgxZtyb2TEmSBvXSBMVCc7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICByZXR1cm4gJ1tXIHplc3rFgsSFIGN6d2FydGVrIG9dIExUJztcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIHJldHVybiAnW1cgemVzesWCxIUgcGnEhXRlayBvXSBMVCc7XG4gICAgICAgIGNhc2UgNjpcbiAgICAgICAgICByZXR1cm4gJ1tXIHplc3rFgsSFIHNvYm90xJkgb10gTFQnO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAnW1cgemVzesWCeV0gZGRkZCBbb10gTFQnO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICd6YSAlcycsXG4gICAgcGFzdDogJyVzIHRlbXUnLFxuICAgIHM6ICdraWxrYSBzZWt1bmQnLFxuICAgIHNzOiB0cmFuc2xhdGUsXG4gICAgbTogdHJhbnNsYXRlLFxuICAgIG1tOiB0cmFuc2xhdGUsXG4gICAgaDogdHJhbnNsYXRlLFxuICAgIGhoOiB0cmFuc2xhdGUsXG4gICAgZDogJzEgZHppZcWEJyxcbiAgICBkZDogJyVkIGRuaScsXG4gICAgTTogJ21pZXNpxIVjJyxcbiAgICBNTTogdHJhbnNsYXRlLFxuICAgIHk6ICdyb2snLFxuICAgIHl5OiB0cmFuc2xhdGVcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9XFwuLyxcbiAgb3JkaW5hbDogJyVkLicsXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNCAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNHRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","import { getDayOfWeek } from '../units/day-of-week';\n//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\nexport const ptBrLocale = {\n abbr: 'pt-br',\n months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\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(date) {\n return (getDayOfWeek(date) === 0 || getDayOfWeek(date) === 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: '%s atrá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};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtYnIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3B0LWJyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxrQ0FBa0M7QUFDbEMsd0NBQXdDO0FBQ3hDLDJFQUEyRTtBQUUzRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWU7SUFDcEMsSUFBSSxFQUFFLE9BQU87SUFDYixNQUFNLEVBQUUsMEZBQTBGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM3RyxXQUFXLEVBQUUsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN6RSxRQUFRLEVBQUUsZ0ZBQWdGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNyRyxhQUFhLEVBQUUsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxPQUFPO1FBQ1gsR0FBRyxFQUFFLFVBQVU7UUFDZixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSx1QkFBdUI7UUFDM0IsR0FBRyxFQUFFLGtDQUFrQztRQUN2QyxJQUFJLEVBQUUsd0NBQXdDO0tBQy9DO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLGNBQWM7UUFDdkIsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixRQUFRLEVBQUUsY0FBYztRQUN4QixPQUFPLEVBQUUsZUFBZTtRQUN4QixRQUFRLENBQUMsSUFBVTtZQUNqQixPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtnQkFDOUMsdUJBQXVCLENBQUMsQ0FBQyxrQkFBa0I7UUFDL0MsQ0FBQztRQUNELFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxVQUFVO1FBQ2hCLENBQUMsRUFBRSxpQkFBaUI7UUFDcEIsRUFBRSxFQUFFLGFBQWE7UUFDakIsQ0FBQyxFQUFFLFdBQVc7UUFDZCxFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsVUFBVTtRQUNiLEVBQUUsRUFBRSxVQUFVO1FBQ2QsQ0FBQyxFQUFFLFFBQVE7UUFDWCxFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxRQUFRO1FBQ1gsRUFBRSxFQUFFLFVBQVU7UUFDZCxDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxTQUFTO0tBQ2Q7SUFDRCxzQkFBc0IsRUFBRSxVQUFVO0lBQ2xDLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGdldERheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IFBvcnR1Z3Vlc2UgKEJyYXppbCkgW3B0LWJyXVxuLy8hIGF1dGhvciA6IENhaW8gUmliZWlybyBQZXJlaXJhIDogaHR0cHM6Ly9naXRodWIuY29tL2NhaW8tcmliZWlyby1wZXJlaXJhXG5cbmV4cG9ydCBjb25zdCBwdEJyTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAncHQtYnInLFxuICBtb250aHM6ICdKYW5laXJvX0ZldmVyZWlyb19NYXLDp29fQWJyaWxfTWFpb19KdW5ob19KdWxob19BZ29zdG9fU2V0ZW1icm9fT3V0dWJyb19Ob3ZlbWJyb19EZXplbWJybycuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICdKYW5fRmV2X01hcl9BYnJfTWFpX0p1bl9KdWxfQWdvX1NldF9PdXRfTm92X0Rleicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXM6ICdEb21pbmdvX1NlZ3VuZGEtZmVpcmFfVGVyw6dhLWZlaXJhX1F1YXJ0YS1mZWlyYV9RdWludGEtZmVpcmFfU2V4dGEtZmVpcmFfU8OhYmFkbycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ0RvbV9TZWdfVGVyX1F1YV9RdWlfU2V4X1PDoWInLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAnRG9fMsKqXzPCql80wqpfNcKqXzbCql9Tw6EnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0hIOm1tJyxcbiAgICBMVFM6ICdISDptbTpzcycsXG4gICAgTDogJ0REL01NL1lZWVknLFxuICAgIExMOiAnRCBbZGVdIE1NTU0gW2RlXSBZWVlZJyxcbiAgICBMTEw6ICdEIFtkZV0gTU1NTSBbZGVdIFlZWVkgW8Ogc10gSEg6bW0nLFxuICAgIExMTEw6ICdkZGRkLCBEIFtkZV0gTU1NTSBbZGVdIFlZWVkgW8Ogc10gSEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheTogJ1tIb2plIMOgc10gTFQnLFxuICAgIG5leHREYXk6ICdbQW1hbmjDoyDDoHNdIExUJyxcbiAgICBuZXh0V2VlazogJ2RkZGQgW8Ogc10gTFQnLFxuICAgIGxhc3REYXk6ICdbT250ZW0gw6BzXSBMVCcsXG4gICAgbGFzdFdlZWsoZGF0ZTogRGF0ZSkge1xuICAgICAgcmV0dXJuIChnZXREYXlPZldlZWsoZGF0ZSkgPT09IDAgfHwgZ2V0RGF5T2ZXZWVrKGRhdGUpID09PSA2KSA/XG4gICAgICAgICdbw5psdGltb10gZGRkZCBbw6BzXSBMVCcgOiAvLyBTYXR1cmRheSArIFN1bmRheVxuICAgICAgICAnW8OabHRpbWFdIGRkZGQgW8Ogc10gTFQnOyAvLyBNb25kYXkgLSBGcmlkYXlcbiAgICB9LFxuICAgIHNhbWVFbHNlOiAnTCdcbiAgfSxcbiAgcmVsYXRpdmVUaW1lOiB7XG4gICAgZnV0dXJlOiAnZW0gJXMnLFxuICAgIHBhc3Q6ICclcyBhdHLDoXMnLFxuICAgIHM6ICdwb3Vjb3Mgc2VndW5kb3MnLFxuICAgIHNzOiAnJWQgc2VndW5kb3MnLFxuICAgIG06ICd1bSBtaW51dG8nLFxuICAgIG1tOiAnJWQgbWludXRvcycsXG4gICAgaDogJ3VtYSBob3JhJyxcbiAgICBoaDogJyVkIGhvcmFzJyxcbiAgICBkOiAndW0gZGlhJyxcbiAgICBkZDogJyVkIGRpYXMnLFxuICAgIE06ICd1bSBtw6pzJyxcbiAgICBNTTogJyVkIG1lc2VzJyxcbiAgICB5OiAndW0gYW5vJyxcbiAgICB5eTogJyVkIGFub3MnXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfcK6LyxcbiAgb3JkaW5hbDogJyVkwronXG59O1xuIl19","// ! 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 : Earle white: https://github.com/5earle\nfunction relativeTimeWithPlural(num, withoutSuffix, key) {\n let format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n MM: 'luni',\n yy: 'ani'\n };\n let separator = ' ';\n if (num % 100 >= 20 || (num >= 100 && num % 100 === 0)) {\n separator = ' de ';\n }\n return num + separator + format[key];\n}\nexport const roLocale = {\n abbr: 'ro',\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort: 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\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 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 1st is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3JvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLG1DQUFtQztBQUNuQywyQkFBMkI7QUFDM0Isc0RBQXNEO0FBQ3RELHVEQUF1RDtBQUN2RCxvREFBb0Q7QUFFcEQsU0FBUyxzQkFBc0IsQ0FBQyxHQUFXLEVBQUUsYUFBc0IsRUFBRSxHQUFXO0lBQzlFLElBQUksTUFBTSxHQUEyQjtRQUNuQyxFQUFFLEVBQUUsU0FBUztRQUNiLEVBQUUsRUFBRSxRQUFRO1FBQ1osRUFBRSxFQUFFLEtBQUs7UUFDVCxFQUFFLEVBQUUsTUFBTTtRQUNWLEVBQUUsRUFBRSxNQUFNO1FBQ1YsRUFBRSxFQUFFLEtBQUs7S0FDVixDQUFDO0lBRUYsSUFBSSxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ3BCLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxTQUFTLEdBQUcsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxPQUFPLEdBQUcsR0FBRyxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFHRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWU7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsbUdBQW1HLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN0SCxXQUFXLEVBQUUsK0RBQStELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFFBQVEsRUFBRSxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3RFLGFBQWEsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzlDLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxNQUFNO1FBQ1YsR0FBRyxFQUFFLFNBQVM7UUFDZCxDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxhQUFhO1FBQ2pCLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsSUFBSSxFQUFFLHdCQUF3QjtLQUMvQjtJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLElBQUksRUFBRSxZQUFZO1FBQ2xCLENBQUMsRUFBRSxnQkFBZ0I7UUFDbkIsRUFBRSxFQUFFLHNCQUFzQjtRQUMxQixDQUFDLEVBQUUsVUFBVTtRQUNiLEVBQUUsRUFBRSxzQkFBc0I7UUFDMUIsQ0FBQyxFQUFFLE9BQU87UUFDVixFQUFFLEVBQUUsc0JBQXNCO1FBQzFCLENBQUMsRUFBRSxNQUFNO1FBQ1QsRUFBRSxFQUFFLHNCQUFzQjtRQUMxQixDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxzQkFBc0I7UUFDMUIsQ0FBQyxFQUFFLE9BQU87UUFDVixFQUFFLEVBQUUsc0JBQXNCO0tBQzNCO0lBQ0QsSUFBSSxFQUFFO1FBQ0osR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBRSxnRUFBZ0U7S0FDekU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyAhIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8gISBsb2NhbGUgOiBSb21hbmlhbiBbcm9dXG4vLyEgYXV0aG9yIDogVmxhZCBHdXJkaWdhIDogaHR0cHM6Ly9naXRodWIuY29tL2d1cmRpZ2Fcbi8vISBhdXRob3IgOiBWYWxlbnRpbiBBZ2FjaGkgOiBodHRwczovL2dpdGh1Yi5jb20vYXZhbHlcbi8vICEgYXV0aG9yIDogRWFybGUgd2hpdGU6IGh0dHBzOi8vZ2l0aHViLmNvbS81ZWFybGVcblxuZnVuY3Rpb24gcmVsYXRpdmVUaW1lV2l0aFBsdXJhbChudW06IG51bWJlciwgd2l0aG91dFN1ZmZpeDogYm9vbGVhbiwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgZm9ybWF0OiB7W2tleTpzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHNzOiAnc2VjdW5kZScsXG4gICAgbW06ICdtaW51dGUnLFxuICAgIGhoOiAnb3JlJyxcbiAgICBkZDogJ3ppbGUnLFxuICAgIE1NOiAnbHVuaScsXG4gICAgeXk6ICdhbmknXG4gIH07XG5cbiAgbGV0IHNlcGFyYXRvciA9ICcgJztcbiAgaWYgKG51bSAlIDEwMCA+PSAyMCB8fCAobnVtID49IDEwMCAmJiBudW0gJSAxMDAgPT09IDApKSB7XG4gICAgc2VwYXJhdG9yID0gJyBkZSAnO1xuICB9XG4gIHJldHVybiBudW0gKyBzZXBhcmF0b3IgKyBmb3JtYXRba2V5XTtcbn1cblxuXG5leHBvcnQgY29uc3Qgcm9Mb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdybycsXG4gIG1vbnRoczogJ2lhbnVhcmllX2ZlYnJ1YXJpZV9tYXJ0aWVfYXByaWxpZV9tYWlfaXVuaWVfaXVsaWVfYXVndXN0X3NlcHRlbWJyaWVfb2N0b21icmllX25vaWVtYnJpZV9kZWNlbWJyaWUnLnNwbGl0KCdfJyksXG4gIG1vbnRoc1Nob3J0OiAnaWFuLl9mZWJyLl9tYXJ0Ll9hcHIuX21haV9pdW4uX2l1bC5fYXVnLl9zZXB0Ll9vY3QuX25vdi5fZGVjLicuc3BsaXQoJ18nKSxcbiAgbW9udGhzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgd2Vla2RheXM6ICdkdW1pbmljxINfbHVuaV9tYXLIm2lfbWllcmN1cmlfam9pX3ZpbmVyaV9zw6JtYsSDdMSDJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0OiAnRHVtX0x1bl9NYXJfTWllX0pvaV9WaW5fU8OibScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICdEdV9MdV9NYV9NaV9Kb19WaV9Tw6InLnNwbGl0KCdfJyksXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdIOm1tJyxcbiAgICBMVFM6ICdIOm1tOnNzJyxcbiAgICBMOiAnREQuTU0uWVlZWScsXG4gICAgTEw6ICdEIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRCBNTU1NIFlZWVkgSDptbScsXG4gICAgTExMTDogJ2RkZGQsIEQgTU1NTSBZWVlZIEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheTogJ1themkgbGFdIExUJyxcbiAgICBuZXh0RGF5OiAnW23DomluZSBsYV0gTFQnLFxuICAgIG5leHRXZWVrOiAnZGRkZCBbbGFdIExUJyxcbiAgICBsYXN0RGF5OiAnW2llcmkgbGFdIExUJyxcbiAgICBsYXN0V2VlazogJ1tmb3N0YV0gZGRkZCBbbGFdIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ3Blc3RlICVzJyxcbiAgICBwYXN0OiAnJXMgw65uIHVybcSDJyxcbiAgICBzOiAnY8OidGV2YSBzZWN1bmRlJyxcbiAgICBzczogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICBtOiAndW4gbWludXQnLFxuICAgIG1tOiByZWxhdGl2ZVRpbWVXaXRoUGx1cmFsLFxuICAgIGg6ICdvIG9yxIMnLFxuICAgIGhoOiByZWxhdGl2ZVRpbWVXaXRoUGx1cmFsLFxuICAgIGQ6ICdvIHppJyxcbiAgICBkZDogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICBNOiAnbyBsdW7EgycsXG4gICAgTU06IHJlbGF0aXZlVGltZVdpdGhQbHVyYWwsXG4gICAgeTogJ3VuIGFuJyxcbiAgICB5eTogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbFxuICB9LFxuICB3ZWVrOiB7XG4gICAgZG93OiAxLCAvLyBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3k6IDcgIC8vIFRoZSB3ZWVrIHRoYXQgY29udGFpbnMgSmFuIDFzdCBpcyB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhci5cbiAgfVxufTtcbiJdfQ==","import { getWeek } from '../units/week';\nimport { getDayOfWeek } from '../units/day-of-week';\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\nfunction plural(word, num) {\n let forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(num, withoutSuffix, key) {\n let format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n return num + ' ' + plural(format[key], +num);\n}\nlet monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\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\nexport const ruLocale = {\n abbr: 'ru',\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/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(date, now) {\n if (getWeek(now) !== getWeek(date)) {\n switch (getDayOfWeek(date)) {\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 }\n else {\n if (getDayOfWeek(date) === 2) {\n return '[Во] dddd [в] LT';\n }\n else {\n return '[В] dddd [в] LT';\n }\n }\n },\n lastWeek(date, now) {\n if (getWeek(now) !== getWeek(date)) {\n switch (getDayOfWeek(date)) {\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 }\n else {\n if (getDayOfWeek(date) === 2) {\n return '[Во] dddd [в] LT';\n }\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 M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM(input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n }\n else if (hour < 12) {\n return 'утра';\n }\n else if (hour < 17) {\n return 'дня';\n }\n else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal(_num, period) {\n const num = Number(_num);\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return num + '-й';\n case 'D':\n return num + '-го';\n case 'w':\n case 'W':\n return num + '-я';\n default:\n return num.toString(10);\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3J1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBELGtDQUFrQztBQUNsQyx5QkFBeUI7QUFDekIsNkRBQTZEO0FBQzdELHdEQUF3RDtBQUN4RCwyREFBMkQ7QUFFM0QsU0FBUyxNQUFNLENBQUMsSUFBWSxFQUFFLEdBQVc7SUFDdkMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixPQUFPLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZKLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLEdBQVcsRUFBRSxhQUFzQixFQUFFLEdBQVc7SUFDOUUsSUFBSSxNQUFNLEdBQTRCO1FBQ3BDLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyx3QkFBd0I7UUFDdkUsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtRQUNq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Q0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsQ0FBQyxFQUFFLHVDQUF1QztRQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFFLGdFQUFnRTtLQUN6RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBnZXRXZWVrIH0gZnJvbSAnLi4vdW5pdHMvd2Vlayc7XG5pbXBvcnQgeyBnZXREYXlPZldlZWsgfSBmcm9tICcuLi91bml0cy9kYXktb2Ytd2Vlayc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBSdXNzaWFuIFtydV1cbi8vISBhdXRob3IgOiBWaWt0b3JtaW5hdG9yIDogaHR0cHM6Ly9naXRodWIuY29tL1Zpa3Rvcm1pbmF0b3Jcbi8vISBBdXRob3IgOiBNZW5lbGlvbiBFbGVuc8O6bGUgOiBodHRwczovL2dpdGh1Yi5jb20vT2lyZVxuLy8hIGF1dGhvciA6INCa0L7RgNC10L3QsdC10YDQsyDQnNCw0YDQuiA6IGh0dHBzOi8vZ2l0aHViLmNvbS9zb2NrZXRwYWlyXG5cbmZ1bmN0aW9uIHBsdXJhbCh3b3JkOiBzdHJpbmcsIG51bTogbnVtYmVyKTogc3RyaW5nIHtcbiAgbGV0IGZvcm1zID0gd29yZC5zcGxpdCgnXycpO1xuICByZXR1cm4gbnVtICUgMTAgPT09IDEgJiYgbnVtICUgMTAwICE9PSAxMSA/IGZvcm1zWzBdIDogKG51bSAlIDEwID49IDIgJiYgbnVtICUgMTAgPD0gNCAmJiAobnVtICUgMTAwIDwgMTAgfHwgbnVtICUgMTAwID49IDIwKSA/IGZvcm1zWzFdIDogZm9ybXNbMl0pO1xufVxuXG5mdW5jdGlvbiByZWxhdGl2ZVRpbWVXaXRoUGx1cmFsKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuLCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCBmb3JtYXQ6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHNzOiB3aXRob3V0U3VmZml4ID8gJ9GB0LXQutGD0L3QtNCwX9GB0LXQutGD0L3QtNGLX9GB0LXQutGD0L3QtCcgOiAn0YHQtdC60YPQvdC00YNf0YHQtdC60YPQvdC00Ytf0YHQtdC60YPQvdC0JyxcbiAgICBtbTogd2l0aG91dFN1ZmZpeCA/ICfQvNC40L3Rg9GC0LBf0LzQuNC90YPRgtGLX9C80LjQvdGD0YInIDogJ9C80LjQvdGD0YLRg1/QvNC40L3Rg9GC0Ytf0LzQuNC90YPRgicsXG4gICAgaGg6ICfRh9Cw0YFf0YfQsNGB0LBf0YfQsNGB0L7QsicsXG4gICAgZGQ6ICfQtNC10L3RjF/QtNC90Y9f0LTQvdC10LknLFxuICAgIE1NOiAn0LzQtdGB0Y/Rhl/QvNC10YHRj9GG0LBf0LzQtdGB0Y/RhtC10LInLFxuICAgIHl5OiAn0LPQvtC0X9Cz0L7QtNCwX9C70LXRgidcbiAgfTtcbiAgaWYgKGtleSA9PT0gJ20nKSB7XG4gICAgcmV0dXJuIHdpdGhvdXRTdWZmaXggPyAn0LzQuNC90YPRgtCwJyA6ICfQvNC40L3Rg9GC0YMnO1xuICB9XG4gIHJldHVybiBudW0gKyAnICcgKyBwbHVyYWwoZm9ybWF0W2tleV0sICtudW0pO1xufVxuXG5sZXQgbW9udGhzUGFyc2UgPSBbL17Rj9C90LIvaSwgL17RhNC10LIvaSwgL17QvNCw0YAvaSwgL17QsNC/0YAvaSwgL17QvNCwW9C50Y9dL2ksIC9e0LjRjtC9L2ksIC9e0LjRjtC7L2ksIC9e0LDQstCzL2ksIC9e0YHQtdC9L2ksIC9e0L7QutGCL2ksIC9e0L3QvtGPL2ksIC9e0LTQtdC6L2ldO1xuXG4vLyBodHRwOi8vbmV3LmdyYW1vdGEucnUvc3ByYXZrYS9ydWxlcy8xMzktcHJvcCA6IMKnIDEwM1xuLy8g0KHQvtC60YDQsNGJ0LXQvdC40Y8g0LzQtdGB0Y/RhtC10LI6IGh0dHA6Ly9uZXcuZ3JhbW90YS5ydS9zcHJhdmthL2J1cm8vc2VhcmNoLWFuc3dlcj9zPTI0MjYzN1xuLy8gQ0xEUiBkYXRhOiAgICAgICAgICBodHRwOi8vd3d3LnVuaWNvZGUub3JnL2NsZHIvY2hhcnRzLzI4L3N1bW1hcnkvcnUuaHRtbCMxNzUzXG5leHBvcnQgY29uc3QgcnVMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICdydScsXG4gIG1vbnRoczoge1xuICAgIGZvcm1hdDogJ9GP0L3QstCw0YDRj1/RhNC10LLRgNCw0LvRj1/QvNCw0YDRgtCwX9Cw0L/RgNC10LvRj1/QvNCw0Y9f0LjRjtC90Y9f0LjRjtC70Y9f0LDQstCz0YPRgdGC0LBf0YHQtdC90YLRj9Cx0YDRj1/QvtC60YLRj9Cx0YDRj1/QvdC+0Y/QsdGA0Y9f0LTQtdC60LDQsdGA0Y8nLnNwbGl0KCdfJyksXG4gICAgc3RhbmRhbG9uZTogJ9GP0L3QstCw0YDRjF/RhNC10LLRgNCw0LvRjF/QvNCw0YDRgl/QsNC/0YDQtdC70Yxf0LzQsNC5X9C40Y7QvdGMX9C40Y7Qu9GMX9Cw0LLQs9GD0YHRgl/RgdC10L3RgtGP0LHRgNGMX9C+0LrRgtGP0LHRgNGMX9C90L7Rj9Cx0YDRjF/QtNC10LrQsNCx0YDRjCcuc3BsaXQoJ18nKVxuICB9LFxuICBtb250aHNTaG9ydDoge1xuICAgIC8vINC/0L4gQ0xEUiDQuNC80LXQvdC90L4gXCLQuNGO0LsuXCIg0LggXCLQuNGO0L0uXCIsINC90L4g0LrQsNC60L7QuSDRgdC80YvRgdC7INC80LXQvdGP0YLRjCDQsdGD0LrQstGDINC90LAg0YLQvtGH0LrRgyA/XG4gICAgZm9ybWF0OiAn0Y/QvdCyLl/RhNC10LLRgC5f0LzQsNGALl/QsNC/0YAuX9C80LDRj1/QuNGO0L3Rj1/QuNGO0LvRj1/QsNCy0LMuX9GB0LXQvdGCLl/QvtC60YIuX9C90L7Rj9CxLl/QtNC10LouJy5zcGxpdCgnXycpLFxuICAgIHN0YW5kYWxvbmU6ICfRj9C90LIuX9GE0LXQstGALl/QvNCw0YDRgl/QsNC/0YAuX9C80LDQuV/QuNGO0L3RjF/QuNGO0LvRjF/QsNCy0LMuX9GB0LXQvdGCLl/QvtC60YIuX9C90L7Rj9CxLl/QtNC10LouJy5zcGxpdCgnXycpXG4gIH0sXG4gIHdlZWtkYXlzOiB7XG4gICAgc3RhbmRhbG9uZTogJ9Cy0L7RgdC60YDQtdGB0LXQvdGM0LVf0L/QvtC90LXQtNC10LvRjNC90LjQul/QstGC0L7RgNC90LjQul/RgdGA0LXQtNCwX9GH0LXRgtCy0LXRgNCzX9C/0Y/RgtC90LjRhtCwX9GB0YPQsdCx0L7RgtCwJy5zcGxpdCgnXycpLFxuICAgIGZvcm1hdDogJ9Cy0L7RgdC60YDQtdGB0LXQvdGM0LVf0L/QvtC90LXQtNC10LvRjNC90LjQul/QstGC0L7RgNC90LjQul/RgdGA0LXQtNGDX9GH0LXRgtCy0LXRgNCzX9C/0Y/RgtC90LjRhtGDX9GB0YPQsdCx0L7RgtGDJy5zcGxpdCgnXycpLFxuICAgIGlzRm9ybWF0OiAvXFxbID9b0JLQsl0gPyg/OtC/0YDQvtGI0LvRg9GOfNGB0LvQtdC00YPRjtGJ0YPRjnzRjdGC0YMpPyA/XFxdID9kZGRkL1xuICB9LFxuICB3ZWVrZGF5c1Nob3J0OiAn0LLRgV/Qv9C9X9Cy0YJf0YHRgF/Rh9GCX9C/0YJf0YHQsScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICfQstGBX9C/0L1f0LLRgl/RgdGAX9GH0YJf0L/Rgl/RgdCxJy5zcGxpdCgnXycpLFxuICBtb250aHNQYXJzZSxcbiAgbG9uZ01vbnRoc1BhcnNlOiBtb250aHNQYXJzZSxcbiAgc2hvcnRNb250aHNQYXJzZTogbW9udGhzUGFyc2UsXG5cbiAgLy8g0L/QvtC70L3Ri9C1INC90LDQt9Cy0LDQvdC40Y8g0YEg0L/QsNC00LXQttCw0LzQuCwg0L/QviDRgtGA0Lgg0LHRg9C60LLRiywg0LTQu9GPINC90LXQutC+0YLQvtGA0YvRhSwg0L/QviA0INCx0YPQutCy0YssINGB0L7QutGA0LDRidC10L3QuNGPINGBINGC0L7Rh9C60L7QuSDQuCDQsdC10Lcg0YLQvtGH0LrQuFxuICBtb250aHNSZWdleDogL14o0Y/QvdCy0LDRgFvRjNGPXXzRj9C90LJcXC4/fNGE0LXQstGA0LDQu1vRjNGPXXzRhNC10LLRgD9cXC4/fNC80LDRgNGC0LA/fNC80LDRgFxcLj980LDQv9GA0LXQu1vRjNGPXXzQsNC/0YBcXC4/fNC80LBb0LnRj1180LjRjtC9W9GM0Y9dfNC40Y7QvVxcLj980LjRjtC7W9GM0Y9dfNC40Y7Qu1xcLj980LDQstCz0YPRgdGC0LA/fNCw0LLQs1xcLj980YHQtdC90YLRj9Cx0YBb0YzRj1180YHQtdC90YI/XFwuP3zQvtC60YLRj9Cx0YBb0YzRj1180L7QutGCXFwuP3zQvdC+0Y/QsdGAW9GM0Y9dfNC90L7Rj9CxP1xcLj980LTQtdC60LDQsdGAW9GM0Y9dfNC00LXQulxcLj8pL2ksXG5cbiAgLy8g0LrQvtC/0LjRjyDQv9GA0LXQtNGL0LTRg9GJ0LXQs9C+XG4gIG1vbnRoc1Nob3J0UmVnZXg6IC9eKNGP0L3QstCw0YBb0YzRj1180Y/QvdCyXFwuP3zRhNC10LLRgNCw0Ltb0YzRj1180YTQtdCy0YA/XFwuP3zQvNCw0YDRgtCwP3zQvNCw0YBcXC4/fNCw0L/RgNC10Ltb0YzRj1180LDQv9GAXFwuP3zQvNCwW9C50Y9dfNC40Y7QvVvRjNGPXXzQuNGO0L1cXC4/fNC40Y7Qu1vRjNGPXXzQuNGO0LtcXC4/fNCw0LLQs9GD0YHRgtCwP3zQsNCy0LNcXC4/fNGB0LXQvdGC0Y/QsdGAW9GM0Y9dfNGB0LXQvdGCP1xcLj980L7QutGC0Y/QsdGAW9GM0Y9dfNC+0LrRglxcLj980L3QvtGP0LHRgFvRjNGPXXzQvdC+0Y/QsT9cXC4/fNC00LXQutCw0LHRgFvRjNGPXXzQtNC10LpcXC4/KS9pLFxuXG4gIC8vINC/0L7Qu9C90YvQtSDQvdCw0LfQstCw0L3QuNGPINGBINC/0LDQtNC10LbQsNC80LhcbiAgbW9udGhzU3RyaWN0UmVnZXg6IC9eKNGP0L3QstCw0YBb0Y/RjF180YTQtdCy0YDQsNC7W9GP0YxdfNC80LDRgNGC0LA/fNCw0L/RgNC10Ltb0Y/RjF180LzQsFvRj9C5XXzQuNGO0L1b0Y/RjF180LjRjtC7W9GP0YxdfNCw0LLQs9GD0YHRgtCwP3zRgdC10L3RgtGP0LHRgFvRj9GMXXzQvtC60YLRj9Cx0YBb0Y/RjF180L3QvtGP0LHRgFvRj9GMXXzQtNC10LrQsNCx0YBb0Y/RjF0pL2ksXG5cbiAgLy8g0JLRi9GA0LDQttC10L3QuNC1LCDQutC+0YLQvtGA0L7QtSDRgdC+0L7RgtCy0LXRgdGC0LLRg9C10YIg0YLQvtC70YzQutC+INGB0L7QutGA0LDRidGR0L3QvdGL0Lwg0YTQvtGA0LzQsNC8XG4gIG1vbnRoc1Nob3J0U3RyaWN0UmVnZXg6IC9eKNGP0L3QslxcLnzRhNC10LLRgD9cXC580LzQsNGAW9GCLl180LDQv9GAXFwufNC80LBb0Y/QuV180LjRjtC9W9GM0Y8uXXzQuNGO0Ltb0YzRjy5dfNCw0LLQs1xcLnzRgdC10L3Rgj9cXC580L7QutGCXFwufNC90L7Rj9CxP1xcLnzQtNC10LpcXC4pL2ksXG4gIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgTFQ6ICdIOm1tJyxcbiAgICBMVFM6ICdIOm1tOnNzJyxcbiAgICBMOiAnREQuTU0uWVlZWScsXG4gICAgTEw6ICdEIE1NTU0gWVlZWSDQsy4nLFxuICAgIExMTDogJ0QgTU1NTSBZWVlZINCzLiwgSDptbScsXG4gICAgTExMTDogJ2RkZGQsIEQgTU1NTSBZWVlZINCzLiwgSDptbSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW9Ch0LXQs9C+0LTQvdGPINCyXSBMVCcsXG4gICAgbmV4dERheTogJ1vQl9Cw0LLRgtGA0LAg0LJdIExUJyxcbiAgICBsYXN0RGF5OiAnW9CS0YfQtdGA0LAg0LJdIExUJyxcbiAgICBuZXh0V2VlayhkYXRlOiBEYXRlLCBub3c6IERhdGUpIHtcbiAgICAgIGlmIChnZXRXZWVrKG5vdykgIT09IGdldFdlZWsoZGF0ZSkpIHtcbiAgICAgICAgc3dpdGNoIChnZXREYXlPZldlZWsoZGF0ZSkpIHtcbiAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICByZXR1cm4gJ1vQkiDRgdC70LXQtNGD0Y7RidC10LVdIGRkZGQgW9CyXSBMVCc7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICByZXR1cm4gJ1vQkiDRgdC70LXQtNGD0Y7RidC40LldIGRkZGQgW9CyXSBMVCc7XG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIGNhc2UgNTpcbiAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICByZXR1cm4gJ1vQkiDRgdC70LXQtNGD0Y7RidGD0Y5dIGRkZGQgW9CyXSBMVCc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChnZXREYXlPZldlZWsoZGF0ZSkgPT09IDIpIHtcbiAgICAgICAgICByZXR1cm4gJ1vQktC+XSBkZGRkIFvQsl0gTFQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAnW9CSXSBkZGRkIFvQsl0gTFQnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBsYXN0V2VlayhkYXRlOiBEYXRlLCBub3c6IERhdGUpIHtcbiAgICAgIGlmIChnZXRXZWVrKG5vdykgIT09IGdldFdlZWsoZGF0ZSkpIHtcbiAgICAgICAgc3dpdGNoIChnZXREYXlPZldlZWsoZGF0ZSkpIHtcbiAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICByZXR1cm4gJ1vQkiDQv9GA0L7RiNC70L7QtV0gZGRkZCBb0LJdIExUJztcbiAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgIHJldHVybiAnW9CSINC/0YDQvtGI0LvRi9C5XSBkZGRkIFvQsl0gTFQnO1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgY2FzZSA2OlxuICAgICAgICAgICAgcmV0dXJuICdb0JIg0L/RgNC+0YjQu9GD0Y5dIGRkZGQgW9CyXSBMVCc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChnZXREYXlPZldlZWsoZGF0ZSkgPT09IDIpIHtcbiAgICAgICAgICByZXR1cm4gJ1vQktC+XSBkZGRkIFvQsl0gTFQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAnW9CSXSBkZGRkIFvQsl0gTFQnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ9GH0LXRgNC10LcgJXMnLFxuICAgIHBhc3Q6ICclcyDQvdCw0LfQsNC0JyxcbiAgICBzOiAn0L3QtdGB0LrQvtC70YzQutC+INGB0LXQutGD0L3QtCcsXG4gICAgc3M6IHJlbGF0aXZlVGltZVdpdGhQbHVyYWwsXG4gICAgbTogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICBtbTogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICBoOiAn0YfQsNGBJyxcbiAgICBoaDogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICBkOiAn0LTQtdC90YwnLFxuICAgIGRkOiByZWxhdGl2ZVRpbWVXaXRoUGx1cmFsLFxuICAgIE06ICfQvNC10YHRj9GGJyxcbiAgICBNTTogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICB5OiAn0LPQvtC0JyxcbiAgICB5eTogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbFxuICB9LFxuICBtZXJpZGllbVBhcnNlOiAv0L3QvtGH0Lh80YPRgtGA0LB80LTQvdGPfNCy0LXRh9C10YDQsC9pLFxuICBpc1BNKGlucHV0KSB7XG4gICAgcmV0dXJuIC9eKNC00L3Rj3zQstC10YfQtdGA0LApJC8udGVzdChpbnB1dCk7XG4gIH0sXG4gIG1lcmlkaWVtKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgIGlmIChob3VyIDwgNCkge1xuICAgICAgcmV0dXJuICfQvdC+0YfQuCc7XG4gICAgfSBlbHNlIGlmIChob3VyIDwgMTIpIHtcbiAgICAgIHJldHVybiAn0YPRgtGA0LAnO1xuICAgIH0gZWxzZSBpZiAoaG91ciA8IDE3KSB7XG4gICAgICByZXR1cm4gJ9C00L3Rjyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAn0LLQtdGH0LXRgNCwJztcbiAgICB9XG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfS0o0Ll80LPQvnzRjykvLFxuICBvcmRpbmFsKF9udW06IG51bWJlciwgcGVyaW9kOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bSA9IE51bWJlcihfbnVtKTtcbiAgICBzd2l0Y2ggKHBlcmlvZCkge1xuICAgICAgY2FzZSAnTSc6XG4gICAgICBjYXNlICdkJzpcbiAgICAgIGNhc2UgJ0RERCc6XG4gICAgICAgIHJldHVybiBudW0gKyAnLdC5JztcbiAgICAgIGNhc2UgJ0QnOlxuICAgICAgICByZXR1cm4gbnVtICsgJy3Qs9C+JztcbiAgICAgIGNhc2UgJ3cnOlxuICAgICAgY2FzZSAnVyc6XG4gICAgICAgIHJldHVybiBudW0gKyAnLdGPJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudW0udG9TdHJpbmcoMTApO1xuICAgIH1cbiAgfSxcbiAgd2Vlazoge1xuICAgIGRvdzogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95OiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","import { getDayOfWeek } from '../units/day-of-week';\n//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Jozef Pažin : https://github.com/atiris\nconst months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_');\nconst monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\nfunction plural(num) {\n return (num > 1) && (num < 5) && (~~(num / 10) !== 1);\n}\nfunction translate(num, withoutSuffix, key, isFuture) {\n const result = num + ' ';\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(num) ? 'sekundy' : 'sekúnd');\n }\n else {\n return result + 'sekundami';\n }\n // break;\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(num) ? 'minúty' : 'minút');\n }\n else {\n return result + 'minútami';\n }\n // break;\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(num) ? 'hodiny' : 'hodín');\n }\n else {\n return result + 'hodinami';\n }\n // break;\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(num) ? 'dni' : 'dní');\n }\n else {\n return result + 'dňami';\n }\n // break;\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(num) ? 'mesiace' : 'mesiacov');\n }\n else {\n return result + 'mesiacmi';\n }\n // break;\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(num) ? 'roky' : 'rokov');\n }\n else {\n return result + 'rokmi';\n }\n // break;\n }\n}\nexport const skLocale = {\n abbr: 'sk',\n months,\n 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 l: 'D. M. YYYY'\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek(date) {\n switch (getDayOfWeek(date)) {\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(date) {\n switch (getDayOfWeek(date)) {\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: 'o %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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxrQ0FBa0M7QUFDbEMsd0JBQXdCO0FBQ3hCLG9EQUFvRDtBQUVwRCxNQUFNLE1BQU0sR0FBRyxtRkFBbUYsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDOUcsTUFBTSxXQUFXLEdBQUcsaURBQWlELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWpGLFNBQVMsTUFBTSxDQUFDLEdBQVc7SUFDekIsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsR0FBVyxFQUFFLGFBQXNCLEVBQUUsR0FBVyxFQUFFLFFBQWlCO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFFekIsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssR0FBRyxFQUFDLHVEQUF1RDtZQUM5RCxPQUFPLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUN0RSxLQUFLLElBQUksRUFBQywyQ0FBMkM7WUFDbkQsSUFBSSxhQUFhLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7aUJBQ0ksQ0FBQztn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LEVBQUUsQ0FBQztnQkFDM0IsS0FBSyxDQUFDO29CQUNKLE9BQU8sc0JBQXNCLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxDQUFDO2dCQUNQLEtBQUssQ0FBQztvQkFDSixPQUFPLHNCQUFzQixDQUFDO2dCQUNoQyxLQUFLLENBQUM7b0JBQ0osT0FBTyxzQkFBc0IsQ0FBQztnQkFDaEMsS0FBSyxDQUFDLENBQUM7Z0JBQ1AsS0FBSyxDQUFDO29CQUNKLE9BQU8sc0JBQXNCLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQztvQkFDSixPQUFPLHNCQUFzQixDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO1FBQ0QsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxNQUFNO1FBQ2QsSUFBSSxFQUFFLFNBQVM7UUFDZixDQUFDLEVBQUUsU0FBUztRQUNaLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFNBQVM7UUFDYixDQUFDLEVBQUUsU0FBUztRQUNaLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFNBQVM7S0FDZDtJQUNELHNCQUFzQixFQUFFLFdBQVc7SUFDbkMsT0FBTyxFQUFFLEtBQUs7SUFDZCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsQ0FBQyxFQUFFLHVDQUF1QztRQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFFLGdFQUFnRTtLQUN6RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBnZXREYXlPZldlZWsgfSBmcm9tICcuLi91bml0cy9kYXktb2Ytd2Vlayc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBTbG92YWsgW3NrXVxuLy8hIGF1dGhvciA6IEpvemVmIFBhxb5pbiA6IGh0dHBzOi8vZ2l0aHViLmNvbS9hdGlyaXNcblxuY29uc3QgbW9udGhzID0gJ2phbnXDoXJfZmVicnXDoXJfbWFyZWNfYXByw61sX23DoWpfasO6bl9qw7psX2F1Z3VzdF9zZXB0ZW1iZXJfb2t0w7NiZXJfbm92ZW1iZXJfZGVjZW1iZXInLnNwbGl0KCdfJyk7XG5jb25zdCBtb250aHNTaG9ydCA9ICdqYW5fZmViX21hcl9hcHJfbcOhal9qw7puX2rDumxfYXVnX3NlcF9va3Rfbm92X2RlYycuc3BsaXQoJ18nKTtcblxuZnVuY3Rpb24gcGx1cmFsKG51bTogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiAobnVtID4gMSkgJiYgKG51bSA8IDUpICYmICh+fihudW0gLyAxMCkgIT09IDEpO1xufVxuXG5mdW5jdGlvbiB0cmFuc2xhdGUobnVtOiBudW1iZXIsIHdpdGhvdXRTdWZmaXg6IGJvb2xlYW4sIGtleTogc3RyaW5nLCBpc0Z1dHVyZTogYm9vbGVhbik6IHN0cmluZyB7XG4gIGNvbnN0IHJlc3VsdCA9IG51bSArICcgJztcblxuICBzd2l0Y2ggKGtleSkge1xuICAgIGNhc2UgJ3MnOi8vIGEgZmV3IHNlY29uZHMgLyBpbiBhIGZldyBzZWNvbmRzIC8gYSBmZXcgc2Vjb25kcyBhZ29cbiAgICAgIHJldHVybiAod2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSkgPyAncMOhciBzZWvDum5kJyA6ICdww6FyIHNla3VuZGFtaSc7XG4gICAgY2FzZSAnc3MnOi8vIDkgc2Vjb25kcyAvIGluIDkgc2Vjb25kcyAvIDkgc2Vjb25kcyBhZ29cbiAgICAgIGlmICh3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAocGx1cmFsKG51bSkgPyAnc2VrdW5keScgOiAnc2Vrw7puZCcpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAnc2VrdW5kYW1pJztcbiAgICAgIH1cbiAgICAvLyBicmVhaztcbiAgICBjYXNlICdtJzovLyBhIG1pbnV0ZSAvIGluIGEgbWludXRlIC8gYSBtaW51dGUgYWdvXG4gICAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCA/ICdtaW7DunRhJyA6IChpc0Z1dHVyZSA/ICdtaW7DunR1JyA6ICdtaW7DunRvdScpO1xuICAgIGNhc2UgJ21tJzovLyA5IG1pbnV0ZXMgLyBpbiA5IG1pbnV0ZXMgLyA5IG1pbnV0ZXMgYWdvXG4gICAgICBpZiAod2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgKHBsdXJhbChudW0pID8gJ21pbsO6dHknIDogJ21pbsO6dCcpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAnbWluw7p0YW1pJztcbiAgICAgIH1cbiAgICAvLyBicmVhaztcbiAgICBjYXNlICdoJzovLyBhbiBob3VyIC8gaW4gYW4gaG91ciAvIGFuIGhvdXIgYWdvXG4gICAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCA/ICdob2RpbmEnIDogKGlzRnV0dXJlID8gJ2hvZGludScgOiAnaG9kaW5vdScpO1xuICAgIGNhc2UgJ2hoJzovLyA5IGhvdXJzIC8gaW4gOSBob3VycyAvIDkgaG91cnMgYWdvXG4gICAgICBpZiAod2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgKHBsdXJhbChudW0pID8gJ2hvZGlueScgOiAnaG9kw61uJyk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCArICdob2RpbmFtaSc7XG4gICAgICB9XG4gICAgLy8gYnJlYWs7XG4gICAgY2FzZSAnZCc6Ly8gYSBkYXkgLyBpbiBhIGRheSAvIGEgZGF5IGFnb1xuICAgICAgcmV0dXJuICh3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlKSA/ICdkZcWIJyA6ICdkxYhvbSc7XG4gICAgY2FzZSAnZGQnOi8vIDkgZGF5cyAvIGluIDkgZGF5cyAvIDkgZGF5cyBhZ29cbiAgICAgIGlmICh3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAocGx1cmFsKG51bSkgPyAnZG5pJyA6ICdkbsOtJyk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCArICdkxYhhbWknO1xuICAgICAgfVxuICAgIC8vIGJyZWFrO1xuICAgIGNhc2UgJ00nOi8vIGEgbW9udGggLyBpbiBhIG1vbnRoIC8gYSBtb250aCBhZ29cbiAgICAgIHJldHVybiAod2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSkgPyAnbWVzaWFjJyA6ICdtZXNpYWNvbSc7XG4gICAgY2FzZSAnTU0nOi8vIDkgbW9udGhzIC8gaW4gOSBtb250aHMgLyA5IG1vbnRocyBhZ29cbiAgICAgIGlmICh3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyAocGx1cmFsKG51bSkgPyAnbWVzaWFjZScgOiAnbWVzaWFjb3YnKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgJ21lc2lhY21pJztcbiAgICAgIH1cbiAgICAvLyBicmVhaztcbiAgICBjYXNlICd5JzovLyBhIHllYXIgLyBpbiBhIHllYXIgLyBhIHllYXIgYWdvXG4gICAgICByZXR1cm4gKHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUpID8gJ3JvaycgOiAncm9rb20nO1xuICAgIGNhc2UgJ3l5JzovLyA5IHllYXJzIC8gaW4gOSB5ZWFycyAvIDkgeWVhcnMgYWdvXG4gICAgICBpZiAod2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgKHBsdXJhbChudW0pID8gJ3Jva3knIDogJ3Jva292Jyk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCArICdyb2ttaSc7XG4gICAgICB9XG4gICAgLy8gYnJlYWs7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHNrTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnc2snLFxuICBtb250aHMsXG4gIG1vbnRoc1Nob3J0LFxuICB3ZWVrZGF5czogJ25lZGXEvmFfcG9uZGVsb2tfdXRvcm9rX3N0cmVkYV/FoXR2cnRva19waWF0b2tfc29ib3RhJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0OiAnbmVfcG9fdXRfc3RfxaF0X3BpX3NvJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ25lX3BvX3V0X3N0X8WhdF9waV9zbycuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0g6bW0nLFxuICAgIExUUzogJ0g6bW06c3MnLFxuICAgIEw6ICdERC5NTS5ZWVlZJyxcbiAgICBMTDogJ0QuIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRC4gTU1NTSBZWVlZIEg6bW0nLFxuICAgIExMTEw6ICdkZGRkIEQuIE1NTU0gWVlZWSBIOm1tJyxcbiAgICBsOiAnRC4gTS4gWVlZWSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW2RuZXMgb10gTFQnLFxuICAgIG5leHREYXk6ICdbemFqdHJhIG9dIExUJyxcbiAgICBuZXh0V2VlayhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgIHN3aXRjaCAoZ2V0RGF5T2ZXZWVrKGRhdGUpKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICByZXR1cm4gJ1t2IG5lZGXEvnUgb10gTFQnO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICByZXR1cm4gJ1t2XSBkZGRkIFtvXSBMVCc7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICByZXR1cm4gJ1t2IHN0cmVkdSBvXSBMVCc7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICByZXR1cm4gJ1t2byDFoXR2cnRvayBvXSBMVCc7XG4gICAgICAgIGNhc2UgNTpcbiAgICAgICAgICByZXR1cm4gJ1t2IHBpYXRvayBvXSBMVCc7XG4gICAgICAgIGNhc2UgNjpcbiAgICAgICAgICByZXR1cm4gJ1t2IHNvYm90dSBvXSBMVCc7XG4gICAgICB9XG4gICAgfSxcbiAgICBsYXN0RGF5OiAnW3bEjWVyYSBvXSBMVCcsXG4gICAgbGFzdFdlZWsoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICBzd2l0Y2ggKGdldERheU9mV2VlayhkYXRlKSkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgcmV0dXJuICdbbWludWzDuiBuZWRlxL51IG9dIExUJztcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgcmV0dXJuICdbbWludWzDvV0gZGRkZCBbb10gTFQnO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgcmV0dXJuICdbbWludWzDuiBzdHJlZHUgb10gTFQnO1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgIGNhc2UgNTpcbiAgICAgICAgICByZXR1cm4gJ1ttaW51bMO9XSBkZGRkIFtvXSBMVCc7XG4gICAgICAgIGNhc2UgNjpcbiAgICAgICAgICByZXR1cm4gJ1ttaW51bMO6IHNvYm90dSBvXSBMVCc7XG4gICAgICB9XG4gICAgfSxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ28gJXMnLFxuICAgIHBhc3Q6ICdwcmVkICVzJyxcbiAgICBzOiB0cmFuc2xhdGUsXG4gICAgc3M6IHRyYW5zbGF0ZSxcbiAgICBtOiB0cmFuc2xhdGUsXG4gICAgbW06IHRyYW5zbGF0ZSxcbiAgICBoOiB0cmFuc2xhdGUsXG4gICAgaGg6IHRyYW5zbGF0ZSxcbiAgICBkOiB0cmFuc2xhdGUsXG4gICAgZGQ6IHRyYW5zbGF0ZSxcbiAgICBNOiB0cmFuc2xhdGUsXG4gICAgTU06IHRyYW5zbGF0ZSxcbiAgICB5OiB0cmFuc2xhdGUsXG4gICAgeXk6IHRyYW5zbGF0ZVxuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn1cXC4vLFxuICBvcmRpbmFsOiAnJWQuJyxcbiAgd2Vlazoge1xuICAgIGRvdzogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95OiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG5cbiJdfQ==","import { getDayOfWeek } from '../units/day-of-week';\n//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : mihan : https://github.com/mihan\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n }\n else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n }\n else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n }\n else {\n result += withoutSuffix || isFuture ? 'sekund' : '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 }\n else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n }\n else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n }\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 }\n else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n }\n else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n }\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 }\n else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n }\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 }\n else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n }\n else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n }\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 }\n else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n }\n else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n }\n else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n}\nexport const slLocale = {\n abbr: 'sl',\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\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 nextWeek(date) {\n switch (getDayOfWeek(date)) {\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(date) {\n switch (getDayOfWeek(date)) {\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 1st is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3NsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxrQ0FBa0M7QUFDbEMsMkJBQTJCO0FBQzNCLDZDQUE2QztBQUU3QyxTQUFTLG1CQUFtQixDQUFDLE1BQWMsRUFBRSxhQUFzQixFQUFFLEdBQVcsRUFBRSxRQUFpQjtJQUNqRyxJQUFJLE1BQU0sR0FBRyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQzFCLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDWixLQUFLLEdBQUc7WUFDTixPQUFPLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDeEUsS0FBSyxJQUFJO1lBQ1AsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xELENBQUM7aUJBQU0sSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sSUFBSSxhQUFhLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUMvRCxDQUFDO2lCQUFNLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDL0QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxhQUFhLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUM1RCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxHQUFHO1lBQ04sT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQ3JELEtBQUssSUFBSTtZQUNQLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQixNQUFNLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNoRCxDQUFDO2lCQUFNLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDOUQsQ0FBQztpQkFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQzlELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDN0QsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLEtBQUssR0FBRztZQUNOLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMvQyxLQUFLLElBQUk7WUFDUCxJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUMsQ0FBQztpQkFBTSxJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxJQUFJLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3hELENBQUM7aUJBQU0sSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxhQUFhLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN4RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3ZELENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixLQUFLLEdBQUc7WUFDTixPQUFPLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQzVELEtBQUssSUFBSTtZQUNQLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdkQsQ0FBQztpQkFBTSxJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxJQUFJLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDeEQsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLEtBQUssR0FBRztZQUNOLE9BQU8sYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDakUsS0FBSyxJQUFJO1lBQ1AsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sSUFBSSxhQUFhLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDOUQsQ0FBQztpQkFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQzVELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDN0QsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLEtBQUssR0FBRztZQUNOLE9BQU8sYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDL0QsS0FBSyxJQUFJO1lBQ1AsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sSUFBSSxhQUFhLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN6RCxDQUFDO2lCQUFNLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDMUQsQ0FBQztpQkFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3hELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdkQsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFlO0lBQ2xDLElBQUksRUFBRSxJQUFJO0lBQ1YsTUFBTSxFQUFFLHVGQUF1RixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDMUcsV0FBVyxFQUFFLDZEQUE2RCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDckYsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixRQUFRLEVBQUUscURBQXFELENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxRSxhQUFhLEVBQUUsb0NBQW9DLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5RCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxNQUFNO1FBQ1YsR0FBRyxFQUFFLFNBQVM7UUFDZCxDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxjQUFjO1FBQ2xCLEdBQUcsRUFBRSxtQkFBbUI7UUFDeEIsSUFBSSxFQUFFLHlCQUF5QjtLQUNoQztJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLE9BQU8sRUFBRSxlQUFlO1FBRXhCLFFBQVEsQ0FBQyxJQUFVO1lBQ2pCLFFBQVEsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLEtBQUssQ0FBQztvQkFDSixPQUFPLHVCQUF1QixDQUFDO2dCQUNqQyxLQUFLLENBQUM7b0JBQ0osT0FBTyxxQkFBcUIsQ0FBQztnQkFDL0IsS0FBSyxDQUFDO29CQUNKLE9BQU8sc0JBQXNCLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxDQUFDO2dCQUNQLEtBQUssQ0FBQyxDQUFDO2dCQUNQLEtBQUssQ0FBQyxDQUFDO2dCQUNQLEtBQUssQ0FBQztvQkFDSixPQUFPLGtCQUFrQixDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixRQUFRLENBQUMsSUFBVTtZQUNqQixRQUFRLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMzQixLQUFLLENBQUM7b0JBQ0osT0FBTyw4QkFBOEIsQ0FBQztnQkFDeEMsS0FBSyxDQUFDO29CQUNKLE9BQU8sNEJBQTRCLENBQUM7Z0JBQ3RDLEtBQUssQ0FBQztvQkFDSixPQUFPLDZCQUE2QixDQUFDO2dCQUN2QyxLQUFLLENBQUMsQ0FBQztnQkFDUCxLQUFLLENBQUMsQ0FBQztnQkFDUCxLQUFLLENBQUMsQ0FBQztnQkFDUCxLQUFLLENBQUM7b0JBQ0osT0FBTyx5QkFBeUIsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQztRQUNELFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsU0FBUztRQUNmLENBQUMsRUFBRSxtQkFBbUI7UUFDdEIsRUFBRSxFQUFFLG1CQUFtQjtRQUN2QixDQUFDLEVBQUUsbUJBQW1CO1FBQ3RCLEVBQUUsRUFBRSxtQkFBbUI7UUFDdkIsQ0FBQyxFQUFFLG1CQUFtQjtRQUN0QixFQUFFLEVBQUUsbUJBQW1CO1FBQ3ZCLENBQUMsRUFBRSxtQkFBbUI7UUFDdEIsRUFBRSxFQUFFLG1CQUFtQjtRQUN2QixDQUFDLEVBQUUsbUJBQW1CO1FBQ3RCLEVBQUUsRUFBRSxtQkFBbUI7UUFDdkIsQ0FBQyxFQUFFLG1CQUFtQjtRQUN0QixFQUFFLEVBQUUsbUJBQW1CO0tBQ3hCO0lBQ0Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyxPQUFPLEVBQUUsS0FBSztJQUNkLElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRSxDQUFDLEVBQUUsdUNBQXVDO1FBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUUsZ0VBQWdFO0tBQ3pFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGdldERheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IFNsb3ZlbmlhbiBbc2xdXG4vLyEgYXV0aG9yIDogbWloYW4gOiBodHRwczovL2dpdGh1Yi5jb20vbWloYW5cblxuZnVuY3Rpb24gcHJvY2Vzc1JlbGF0aXZlVGltZShudW1iZXI6IG51bWJlciwgd2l0aG91dFN1ZmZpeDogYm9vbGVhbiwga2V5OiBzdHJpbmcsIGlzRnV0dXJlOiBib29sZWFuKTogc3RyaW5nIHtcbiAgdmFyIHJlc3VsdCA9IG51bWJlciArICcgJztcbiAgc3dpdGNoIChrZXkpIHtcbiAgICBjYXNlICdzJzpcbiAgICAgIHJldHVybiB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ25la2FqIHNla3VuZCcgOiAnbmVrYWogc2VrdW5kYW1pJztcbiAgICBjYXNlICdzcyc6XG4gICAgICBpZiAobnVtYmVyID09PSAxKSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4ID8gJ3Nla3VuZG8nIDogJ3Nla3VuZGknO1xuICAgICAgfSBlbHNlIGlmIChudW1iZXIgPT09IDIpIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAnc2VrdW5kaScgOiAnc2VrdW5kYWgnO1xuICAgICAgfSBlbHNlIGlmIChudW1iZXIgPCA1KSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ3Nla3VuZGUnIDogJ3Nla3VuZGFoJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ3Nla3VuZCcgOiAnc2VrdW5kJztcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgY2FzZSAnbSc6XG4gICAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCA/ICdlbmEgbWludXRhJyA6ICdlbm8gbWludXRvJztcbiAgICBjYXNlICdtbSc6XG4gICAgICBpZiAobnVtYmVyID09PSAxKSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4ID8gJ21pbnV0YScgOiAnbWludXRvJztcbiAgICAgIH0gZWxzZSBpZiAobnVtYmVyID09PSAyKSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ21pbnV0aScgOiAnbWludXRhbWEnO1xuICAgICAgfSBlbHNlIGlmIChudW1iZXIgPCA1KSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ21pbnV0ZScgOiAnbWludXRhbWknO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAnbWludXQnIDogJ21pbnV0YW1pJztcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgY2FzZSAnaCc6XG4gICAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCA/ICdlbmEgdXJhJyA6ICdlbm8gdXJvJztcbiAgICBjYXNlICdoaCc6XG4gICAgICBpZiAobnVtYmVyID09PSAxKSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4ID8gJ3VyYScgOiAndXJvJztcbiAgICAgIH0gZWxzZSBpZiAobnVtYmVyID09PSAyKSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ3VyaScgOiAndXJhbWEnO1xuICAgICAgfSBlbHNlIGlmIChudW1iZXIgPCA1KSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ3VyZScgOiAndXJhbWknO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAndXInIDogJ3VyYW1pJztcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgY2FzZSAnZCc6XG4gICAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSA/ICdlbiBkYW4nIDogJ2VuaW0gZG5lbSc7XG4gICAgY2FzZSAnZGQnOlxuICAgICAgaWYgKG51bWJlciA9PT0gMSkge1xuICAgICAgICByZXN1bHQgKz0gd2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSA/ICdkYW4nIDogJ2RuZW0nO1xuICAgICAgfSBlbHNlIGlmIChudW1iZXIgPT09IDIpIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAnZG5pJyA6ICdkbmV2b21hJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ2RuaScgOiAnZG5ldmknO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICBjYXNlICdNJzpcbiAgICAgIHJldHVybiB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ2VuIG1lc2VjJyA6ICdlbmltIG1lc2VjZW0nO1xuICAgIGNhc2UgJ01NJzpcbiAgICAgIGlmIChudW1iZXIgPT09IDEpIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAnbWVzZWMnIDogJ21lc2VjZW0nO1xuICAgICAgfSBlbHNlIGlmIChudW1iZXIgPT09IDIpIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAnbWVzZWNhJyA6ICdtZXNlY2VtYSc7XG4gICAgICB9IGVsc2UgaWYgKG51bWJlciA8IDUpIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAnbWVzZWNlJyA6ICdtZXNlY2knO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAnbWVzZWNldicgOiAnbWVzZWNpJztcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgY2FzZSAneSc6XG4gICAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSA/ICdlbm8gbGV0bycgOiAnZW5pbSBsZXRvbSc7XG4gICAgY2FzZSAneXknOlxuICAgICAgaWYgKG51bWJlciA9PT0gMSkge1xuICAgICAgICByZXN1bHQgKz0gd2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSA/ICdsZXRvJyA6ICdsZXRvbSc7XG4gICAgICB9IGVsc2UgaWYgKG51bWJlciA9PT0gMikge1xuICAgICAgICByZXN1bHQgKz0gd2l0aG91dFN1ZmZpeCB8fCBpc0Z1dHVyZSA/ICdsZXRpJyA6ICdsZXRvbWEnO1xuICAgICAgfSBlbHNlIGlmIChudW1iZXIgPCA1KSB7XG4gICAgICAgIHJlc3VsdCArPSB3aXRob3V0U3VmZml4IHx8IGlzRnV0dXJlID8gJ2xldGEnIDogJ2xldGknO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ICs9IHdpdGhvdXRTdWZmaXggfHwgaXNGdXR1cmUgPyAnbGV0JyA6ICdsZXRpJztcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHNsTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnc2wnLFxuICBtb250aHM6ICdqYW51YXJfZmVicnVhcl9tYXJlY19hcHJpbF9tYWpfanVuaWpfanVsaWpfYXZndXN0X3NlcHRlbWJlcl9va3RvYmVyX25vdmVtYmVyX2RlY2VtYmVyJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydDogJ2phbi5fZmViLl9tYXIuX2Fwci5fbWFqLl9qdW4uX2p1bC5fYXZnLl9zZXAuX29rdC5fbm92Ll9kZWMuJy5zcGxpdCgnXycpLFxuICBtb250aHNQYXJzZUV4YWN0OiB0cnVlLFxuICB3ZWVrZGF5czogJ25lZGVsamFfcG9uZWRlbGpla190b3Jla19zcmVkYV/EjWV0cnRla19wZXRla19zb2JvdGEnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICduZWQuX3Bvbi5fdG9yLl9zcmUuX8SNZXQuX3BldC5fc29iLicuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNNaW46ICduZV9wb190b19zcl/EjWVfcGVfc28nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0g6bW0nLFxuICAgIExUUzogJ0g6bW06c3MnLFxuICAgIEw6ICdERC5NTS5ZWVlZJyxcbiAgICBMTDogJ0QuIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRC4gTU1NTSBZWVlZIEg6bW0nLFxuICAgIExMTEw6ICdkZGRkLCBELiBNTU1NIFlZWVkgSDptbSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW2RhbmVzIG9iXSBMVCcsXG4gICAgbmV4dERheTogJ1tqdXRyaSBvYl0gTFQnLFxuXG4gICAgbmV4dFdlZWsoZGF0ZTogRGF0ZSkge1xuICAgICAgc3dpdGNoIChnZXREYXlPZldlZWsoZGF0ZSkpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIHJldHVybiAnW3ZdIFtuZWRlbGpvXSBbb2JdIExUJztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIHJldHVybiAnW3ZdIFtzcmVkb10gW29iXSBMVCc7XG4gICAgICAgIGNhc2UgNjpcbiAgICAgICAgICByZXR1cm4gJ1t2XSBbc29ib3RvXSBbb2JdIExUJztcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICBjYXNlIDI6XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIHJldHVybiAnW3ZdIGRkZGQgW29iXSBMVCc7XG4gICAgICB9XG4gICAgfSxcbiAgICBsYXN0RGF5OiAnW3bEjWVyYWogb2JdIExUJyxcbiAgICBsYXN0V2VlayhkYXRlOiBEYXRlKSB7XG4gICAgICBzd2l0Y2ggKGdldERheU9mV2VlayhkYXRlKSkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgcmV0dXJuICdbcHJlasWhbmpvXSBbbmVkZWxqb10gW29iXSBMVCc7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICByZXR1cm4gJ1twcmVqxaFuam9dIFtzcmVkb10gW29iXSBMVCc7XG4gICAgICAgIGNhc2UgNjpcbiAgICAgICAgICByZXR1cm4gJ1twcmVqxaFuam9dIFtzb2JvdG9dIFtvYl0gTFQnO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgcmV0dXJuICdbcHJlasWhbmppXSBkZGRkIFtvYl0gTFQnO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICfEjWV6ICVzJyxcbiAgICBwYXN0OiAncHJlZCAlcycsXG4gICAgczogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICBzczogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICBtOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIG1tOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIGg6IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgaGg6IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgZDogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICBkZDogcHJvY2Vzc1JlbGF0aXZlVGltZSxcbiAgICBNOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIE1NOiBwcm9jZXNzUmVsYXRpdmVUaW1lLFxuICAgIHk6IHByb2Nlc3NSZWxhdGl2ZVRpbWUsXG4gICAgeXk6IHByb2Nlc3NSZWxhdGl2ZVRpbWVcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9XFwuLyxcbiAgb3JkaW5hbDogJyVkLicsXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNyAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gMXN0IGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Agon Cecelia : https://github.com/agoncecelia\nexport const sqLocale = {\n abbr: 'sq',\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\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 weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'Di_He_Ma_Me_En_Pr_Sh'.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: '[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: 'para %sve',\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}\\./, // need clarification\n ordinal: '%d.', // need clarification\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3NxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQywwQkFBMEI7QUFDMUIsMERBQTBEO0FBRTFELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRywrRUFBK0UsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ25HLFdBQVcsRUFBRyxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFFLFFBQVEsRUFBRyw0REFBNEQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2xGLGFBQWEsRUFBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hELFdBQVcsRUFBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9DLGNBQWMsRUFBRztRQUNmLEVBQUUsRUFBRyxPQUFPO1FBQ1osR0FBRyxFQUFHLFVBQVU7UUFDaEIsQ0FBQyxFQUFHLFlBQVk7UUFDaEIsRUFBRSxFQUFHLGFBQWE7UUFDbEIsR0FBRyxFQUFHLG1CQUFtQjtRQUN6QixJQUFJLEVBQUcseUJBQXlCO0tBQ2pDO0lBQ0QsUUFBUSxFQUFHO1FBQ1QsT0FBTyxFQUFHLGFBQWE7UUFDdkIsT0FBTyxFQUFHLGVBQWU7UUFDekIsUUFBUSxFQUFHLGNBQWM7UUFDekIsT0FBTyxFQUFHLGFBQWE7UUFDdkIsUUFBUSxFQUFHLHVCQUF1QjtRQUNsQyxRQUFRLEVBQUcsR0FBRztLQUNmO0lBQ0QsWUFBWSxFQUFHO1FBQ2IsTUFBTSxFQUFHLE9BQU87UUFDaEIsSUFBSSxFQUFHLFdBQVc7UUFDbEIsQ0FBQyxFQUFHLGNBQWM7UUFDbEIsRUFBRSxFQUFHLFlBQVk7UUFDakIsQ0FBQyxFQUFHLFdBQVc7UUFDZixFQUFFLEVBQUcsV0FBVztRQUNoQixDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxRQUFRO1FBQ2IsQ0FBQyxFQUFHLFVBQVU7UUFDZCxFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxVQUFVO1FBQ2QsRUFBRSxFQUFHLFNBQVM7UUFDZCxDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxTQUFTO0tBQ2Y7SUFDRCxzQkFBc0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCO0lBQzFELE9BQU8sRUFBRyxLQUFLLEVBQUUscUJBQXFCO0lBQ3RDLElBQUksRUFBRztRQUNMLEdBQUcsRUFBRyxDQUFDLEVBQUUsdUNBQXVDO1FBQ2hELEdBQUcsRUFBRyxDQUFDLENBQUUsZ0VBQWdFO0tBQzFFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IEFsYmFuaWFuIFtzcV1cbi8vISBhdXRob3IgOiBBZ29uIENlY2VsaWEgOiBodHRwczovL2dpdGh1Yi5jb20vYWdvbmNlY2VsaWFcblxuZXhwb3J0IGNvbnN0IHNxTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnc3EnLFxuICBtb250aHMgOiAnSmFuYXJfU2hrdXJ0X01hcnNfUHJpbGxfTWFqX1FlcnNob3JfS29ycmlrX0d1c2h0X1NodGF0b3JfVGV0b3JfTsOrbnRvcl9EaGpldG9yJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydCA6ICdKYW5fU2hrX01hcl9QcmlfTWFqX1Flcl9Lb3JfR3VzX1NodF9UZXRfTsOrbl9EaGonLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzIDogJ0UgRGllbMOrX0UgSMOrbsOrX0UgTWFydMOrX0UgTcOrcmt1csOrX0UgRW5qdGVfRSBQcmVtdGVfRSBTaHR1bsOrJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0IDogJ0RpZV9Iw6tuX01hcl9Nw6tyX0Vual9QcmVfU2h0Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbiA6ICdEaV9IZV9NYV9NZV9Fbl9Qcl9TaCcuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQgOiB7XG4gICAgTFQgOiAnSEg6bW0nLFxuICAgIExUUyA6ICdISDptbTpzcycsXG4gICAgTCA6ICdERC9NTS9ZWVlZJyxcbiAgICBMTCA6ICdEIE1NTU0gWVlZWScsXG4gICAgTExMIDogJ0QgTU1NTSBZWVlZIEhIOm1tJyxcbiAgICBMTExMIDogJ2RkZGQsIEQgTU1NTSBZWVlZIEhIOm1tJ1xuICB9LFxuICBjYWxlbmRhciA6IHtcbiAgICBzYW1lRGF5IDogJ1tTb3QgbsOrXSBMVCcsXG4gICAgbmV4dERheSA6ICdbTmVzw6tyIG7Dq10gTFQnLFxuICAgIG5leHRXZWVrIDogJ2RkZGQgW27Dq10gTFQnLFxuICAgIGxhc3REYXkgOiAnW0RqZSBuw6tdIExUJyxcbiAgICBsYXN0V2VlayA6ICdkZGRkIFtlIGthbHVhciBuw6tdIExUJyxcbiAgICBzYW1lRWxzZSA6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWUgOiB7XG4gICAgZnV0dXJlIDogJ27DqyAlcycsXG4gICAgcGFzdCA6ICdwYXJhICVzdmUnLFxuICAgIHMgOiAnZGlzYSBzZWtvbmRhJyxcbiAgICBzcyA6ICclZCBzZWtvbmRhJyxcbiAgICBtIDogJ25qw6sgbWludXQnLFxuICAgIG1tIDogJyVkIG1pbnV0YScsXG4gICAgaCA6ICduasOrIG9yw6snLFxuICAgIGhoIDogJyVkIG9yw6snLFxuICAgIGQgOiAnbmrDqyBkaXTDqycsXG4gICAgZGQgOiAnJWQgZGl0w6snLFxuICAgIE0gOiAnbmrDqyBtdWFqJyxcbiAgICBNTSA6ICclZCBtdWFqJyxcbiAgICB5IDogJ25qw6sgdml0JyxcbiAgICB5eSA6ICclZCB2aXRlJ1xuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn1cXC4vLCAvLyBuZWVkIGNsYXJpZmljYXRpb25cbiAgb3JkaW5hbCA6ICclZC4nLCAvLyBuZWVkIGNsYXJpZmljYXRpb25cbiAgd2VlayA6IHtcbiAgICBkb3cgOiAxLCAvLyBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICBkb3kgOiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG5cbiJdfQ==","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\nexport const svLocale = {\n abbr: 'sv',\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\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(_num) {\n const num = Number(_num);\n let b = num % 10, output = (~~(num % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return num + 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3YuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyx5QkFBeUI7QUFDekIsZ0RBQWdEO0FBRWhELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSx1RkFBdUYsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFHLFdBQVcsRUFBRSxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3pFLFFBQVEsRUFBRSxtREFBbUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hFLGFBQWEsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzlDLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxPQUFPO1FBQ1gsR0FBRyxFQUFFLFVBQVU7UUFDZixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxhQUFhO1FBQ2pCLEdBQUcsRUFBRSx5QkFBeUI7UUFDOUIsSUFBSSxFQUFFLDhCQUE4QjtRQUNwQyxHQUFHLEVBQUUsa0JBQWtCO1FBQ3ZCLElBQUksRUFBRSxzQkFBc0I7S0FDN0I7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsV0FBVztRQUNwQixPQUFPLEVBQUUsY0FBYztRQUN2QixPQUFPLEVBQUUsV0FBVztRQUNwQixRQUFRLEVBQUUsY0FBYztRQUN4QixRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxjQUFjO1FBQ3BCLENBQUMsRUFBRSxnQkFBZ0I7UUFDbkIsRUFBRSxFQUFFLGFBQWE7UUFDakIsQ0FBQyxFQUFFLFVBQVU7UUFDYixFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsVUFBVTtRQUNiLEVBQUUsRUFBRSxXQUFXO1FBQ2YsQ0FBQyxFQUFFLFFBQVE7UUFDWCxFQUFFLEVBQUUsVUFBVTtRQUNkLENBQUMsRUFBRSxVQUFVO1FBQ2IsRUFBRSxFQUFFLFlBQVk7UUFDaEIsQ0FBQyxFQUFFLFFBQVE7UUFDWCxFQUFFLEVBQUUsT0FBTztLQUNaO0lBQ0Qsc0JBQXNCLEVBQUUsY0FBYztJQUN0QyxPQUFPLENBQUMsSUFBWTtRQUNsQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFDZCxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNmLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5QixPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRSxDQUFDLEVBQUUsdUNBQXVDO1FBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUUsZ0VBQWdFO0tBQ3pFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IFN3ZWRpc2ggW3N2XVxuLy8hIGF1dGhvciA6IEplbnMgQWxtIDogaHR0cHM6Ly9naXRodWIuY29tL3VsbXVzXG5cbmV4cG9ydCBjb25zdCBzdkxvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ3N2JyxcbiAgbW9udGhzOiAnamFudWFyaV9mZWJydWFyaV9tYXJzX2FwcmlsX21hal9qdW5pX2p1bGlfYXVndXN0aV9zZXB0ZW1iZXJfb2t0b2Jlcl9ub3ZlbWJlcl9kZWNlbWJlcicuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICdqYW5fZmViX21hcl9hcHJfbWFqX2p1bl9qdWxfYXVnX3NlcF9va3Rfbm92X2RlYycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXM6ICdzw7ZuZGFnX23DpW5kYWdfdGlzZGFnX29uc2RhZ190b3JzZGFnX2ZyZWRhZ19sw7ZyZGFnJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0OiAnc8O2bl9tw6VuX3Rpc19vbnNfdG9yX2ZyZV9sw7ZyJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ3PDtl9tw6VfdGlfb25fdG9fZnJfbMO2Jy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnSEg6bW0nLFxuICAgIExUUzogJ0hIOm1tOnNzJyxcbiAgICBMOiAnWVlZWS1NTS1ERCcsXG4gICAgTEw6ICdEIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRCBNTU1NIFlZWVkgW2tsLl0gSEg6bW0nLFxuICAgIExMTEw6ICdkZGRkIEQgTU1NTSBZWVlZIFtrbC5dIEhIOm1tJyxcbiAgICBsbGw6ICdEIE1NTSBZWVlZIEhIOm1tJyxcbiAgICBsbGxsOiAnZGRkIEQgTU1NIFlZWVkgSEg6bW0nXG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheTogJ1tJZGFnXSBMVCcsXG4gICAgbmV4dERheTogJ1tJbW9yZ29uXSBMVCcsXG4gICAgbGFzdERheTogJ1tJZ8Olcl0gTFQnLFxuICAgIG5leHRXZWVrOiAnW1DDpV0gZGRkZCBMVCcsXG4gICAgbGFzdFdlZWs6ICdbSV0gZGRkZFtzXSBMVCcsXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICdvbSAlcycsXG4gICAgcGFzdDogJ2bDtnIgJXMgc2VkYW4nLFxuICAgIHM6ICduw6VncmEgc2VrdW5kZXInLFxuICAgIHNzOiAnJWQgc2VrdW5kZXInLFxuICAgIG06ICdlbiBtaW51dCcsXG4gICAgbW06ICclZCBtaW51dGVyJyxcbiAgICBoOiAnZW4gdGltbWUnLFxuICAgIGhoOiAnJWQgdGltbWFyJyxcbiAgICBkOiAnZW4gZGFnJyxcbiAgICBkZDogJyVkIGRhZ2FyJyxcbiAgICBNOiAnZW4gbcOlbmFkJyxcbiAgICBNTTogJyVkIG3DpW5hZGVyJyxcbiAgICB5OiAnZXR0IMOlcicsXG4gICAgeXk6ICclZCDDpXInXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfShlfGEpLyxcbiAgb3JkaW5hbChfbnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bSA9IE51bWJlcihfbnVtKTtcbiAgICBsZXQgYiA9IG51bSAlIDEwLFxuICAgICAgb3V0cHV0ID0gKH5+KG51bSAlIDEwMCAvIDEwKSA9PT0gMSkgPyAnZScgOlxuICAgICAgICAoYiA9PT0gMSkgPyAnYScgOlxuICAgICAgICAgIChiID09PSAyKSA/ICdhJyA6XG4gICAgICAgICAgICAoYiA9PT0gMykgPyAnZScgOiAnZSc7XG4gICAgcmV0dXJuIG51bSArIG91dHB1dDtcbiAgfSxcbiAgd2Vlazoge1xuICAgIGRvdzogMSwgLy8gTW9uZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgZG95OiA0ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiA0dGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gIH1cbn07XG4iXX0=","// moment.js locale configuration\n// locale : Thai [th]\n// author : Watcharapol Sanitwong : https://github.com/tumit\nexport const thLocale = {\n abbr: 'th',\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\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(input) {\n return input === 'หลังเที่ยง';\n },\n meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n }\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};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3RoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxxQkFBcUI7QUFDckIsNERBQTREO0FBSTVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSxtR0FBbUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3RILFdBQVcsRUFBRSxnRUFBZ0UsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hGLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsUUFBUSxFQUFFLGdEQUFnRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDckUsYUFBYSxFQUFFLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxtQ0FBbUM7SUFDdkYsV0FBVyxFQUFFLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDaEQsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixjQUFjLEVBQUU7UUFDZCxFQUFFLEVBQUUsTUFBTTtRQUNWLEdBQUcsRUFBRSxTQUFTO1FBQ2QsQ0FBQyxFQUFFLFlBQVk7UUFDZixFQUFFLEVBQUUsYUFBYTtRQUNqQixHQUFHLEVBQUUsdUJBQXVCO1FBQzVCLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7SUFDRCxhQUFhLEVBQUUsdUJBQXVCO0lBQ3RDLElBQUksQ0FBQyxLQUFLO1FBQ1IsT0FBTyxLQUFLLEtBQUssWUFBWSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPO1FBQzVCLElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2QsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxRQUFRLEVBQUUsR0FBRztLQUNkO0lBQ0QsWUFBWSxFQUFFO1FBQ1osTUFBTSxFQUFFLFFBQVE7UUFDaEIsSUFBSSxFQUFFLFdBQVc7UUFDakIsQ0FBQyxFQUFFLGNBQWM7UUFDakIsRUFBRSxFQUFFLFdBQVc7UUFDZixDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFdBQVc7UUFDZCxFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsT0FBTztRQUNWLEVBQUUsRUFBRSxRQUFRO1FBQ1osQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsVUFBVTtRQUNkLENBQUMsRUFBRSxNQUFNO1FBQ1QsRUFBRSxFQUFFLE9BQU87S0FDWjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vIGxvY2FsZSA6IFRoYWkgW3RoXVxuLy8gYXV0aG9yIDogV2F0Y2hhcmFwb2wgU2FuaXR3b25nIDogaHR0cHM6Ly9naXRodWIuY29tL3R1bWl0XG5cbmltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IHRoTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAndGgnLFxuICBtb250aHM6ICfguKHguIHguKPguLLguITguKFf4LiB4Li44Lih4Lig4Liy4Lie4Lix4LiZ4LiY4LmMX+C4oeC4teC4meC4suC4hOC4oV/guYDguKHguKnguLLguKLguJlf4Lie4Lik4Lip4Lig4Liy4LiE4LihX+C4oeC4tOC4luC4uOC4meC4suC4ouC4mV/guIHguKPguIHguI7guLLguITguKFf4Liq4Li04LiH4Lir4Liy4LiE4LihX+C4geC4seC4meC4ouC4suC4ouC4mV/guJXguLjguKXguLLguITguKFf4Lie4Lik4Lio4LiI4Li04LiB4Liy4Lii4LiZX+C4mOC4seC4meC4p+C4suC4hOC4oScuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICfguKEu4LiELl/guIEu4LieLl/guKHguLUu4LiELl/guYDguKEu4LiiLl/guJ4u4LiELl/guKHguLQu4LiiLl/guIEu4LiELl/guKou4LiELl/guIEu4LiiLl/guJUu4LiELl/guJ4u4LiiLl/guJgu4LiELicuc3BsaXQoJ18nKSxcbiAgbW9udGhzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgd2Vla2RheXM6ICfguK3guLLguJfguLTguJXguKLguYxf4LiI4Lix4LiZ4LiX4Lij4LmMX+C4reC4seC4h+C4hOC4suC4o1/guJ7guLjguJhf4Lie4Lik4Lir4Lix4Liq4Lia4LiU4Li1X+C4qOC4uOC4geC4o+C5jF/guYDguKrguLLguKPguYwnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICfguK3guLIuX+C4iC5f4LitLl/guJ4uX+C4nuC4pC5f4LioLl/guKouJy5zcGxpdCgnXycpLCAvLyB5ZXMsIHRocmVlIGNoYXJhY3RlcnMgZGlmZmVyZW5jZVxuICB3ZWVrZGF5c01pbjogJ+C4reC4si5f4LiILl/guK0uX+C4ni5f4Lie4LikLl/guKguX+C4qi4nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0g6bW0nLFxuICAgIExUUzogJ0g6bW06c3MnLFxuICAgIEw6ICdERC9NTS9ZWVlZJyxcbiAgICBMTDogJ0QgTU1NTSBZWVlZJyxcbiAgICBMTEw6ICdEIE1NTU0gWVlZWSDguYDguKfguKXguLIgSDptbScsXG4gICAgTExMTDogJ+C4p+C4seC4mWRkZGTguJfguLXguYggRCBNTU1NIFlZWVkg4LmA4Lin4Lil4LiyIEg6bW0nXG4gIH0sXG4gIG1lcmlkaWVtUGFyc2U6IC/guIHguYjguK3guJnguYDguJfguLXguYjguKLguId84Lir4Lil4Lix4LiH4LmA4LiX4Li14LmI4Lii4LiHLyxcbiAgaXNQTShpbnB1dCkge1xuICAgIHJldHVybiBpbnB1dCA9PT0gJ+C4q+C4peC4seC4h+C5gOC4l+C4teC5iOC4ouC4hyc7XG4gIH0sXG4gIG1lcmlkaWVtKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgIGlmIChob3VyIDwgMTIpIHtcbiAgICAgIHJldHVybiAn4LiB4LmI4Lit4LiZ4LmA4LiX4Li14LmI4Lii4LiHJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICfguKvguKXguLHguIfguYDguJfguLXguYjguKLguIcnO1xuICAgIH1cbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW+C4p+C4seC4meC4meC4teC5iSDguYDguKfguKXguLJdIExUJyxcbiAgICBuZXh0RGF5OiAnW+C4nuC4o+C4uOC5iOC4h+C4meC4teC5iSDguYDguKfguKXguLJdIExUJyxcbiAgICBuZXh0V2VlazogJ2RkZGRb4Lir4LiZ4LmJ4LiyIOC5gOC4p+C4peC4sl0gTFQnLFxuICAgIGxhc3REYXk6ICdb4LmA4Lih4Li34LmI4Lit4Lin4Liy4LiZ4LiZ4Li14LmJIOC5gOC4p+C4peC4sl0gTFQnLFxuICAgIGxhc3RXZWVrOiAnW+C4p+C4seC4mV1kZGRkW+C4l+C4teC5iOC5geC4peC5ieC4pyDguYDguKfguKXguLJdIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ+C4reC4teC4gSAlcycsXG4gICAgcGFzdDogJyVz4LiX4Li14LmI4LmB4Lil4LmJ4LinJyxcbiAgICBzOiAn4LmE4Lih4LmI4LiB4Li14LmI4Lin4Li04LiZ4Liy4LiX4Li1JyxcbiAgICBzczogJyVkIOC4p+C4tOC4meC4suC4l+C4tScsXG4gICAgbTogJzEg4LiZ4Liy4LiX4Li1JyxcbiAgICBtbTogJyVkIOC4meC4suC4l+C4tScsXG4gICAgaDogJzEg4LiK4Lix4LmI4Lin4LmC4Lih4LiHJyxcbiAgICBoaDogJyVkIOC4iuC4seC5iOC4p+C5guC4oeC4hycsXG4gICAgZDogJzEg4Lin4Lix4LiZJyxcbiAgICBkZDogJyVkIOC4p+C4seC4mScsXG4gICAgTTogJzEg4LmA4LiU4Li34Lit4LiZJyxcbiAgICBNTTogJyVkIOC5gOC4lOC4t+C4reC4mScsXG4gICAgeTogJzEg4Lib4Li1JyxcbiAgICB5eTogJyVkIOC4m+C4tSdcbiAgfVxufTtcbiJdfQ==","// moment.js locale configuration\n// locale : Thai-Buddhist Era [th-be]\n// author : Watcharapol Sanitwong : https://github.com/tumit\nexport const thBeLocale = {\n abbr: 'th-be',\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.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: '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(input) {\n return input === 'หลังเที่ยง';\n },\n meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n }\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 preparse(str, format) {\n const _format = thBeLocale.longDateFormat[format]\n ? thBeLocale.longDateFormat[format]\n : format;\n // endsWith('YYYY')\n if (_format.indexOf('YYYY', _format.length - 'YYYY'.length) !== -1) {\n const ddMM = str.substr(0, str.length - 4);\n const yyyy = parseInt(str.substr(str.length - 4), 10) - 543;\n return ddMM + yyyy;\n }\n return str;\n },\n getFullYear(date, isUTC = false) {\n return 543 + (isUTC ? date.getUTCFullYear() : date.getFullYear());\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGgtYmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3RoLWJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxxQ0FBcUM7QUFDckMsNERBQTREO0FBSTVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZTtJQUNwQyxJQUFJLEVBQUUsT0FBTztJQUNiLE1BQU0sRUFBRSxtR0FBbUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3RILFdBQVcsRUFBRSxnRUFBZ0UsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hGLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsUUFBUSxFQUFFLGdEQUFnRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDckUsYUFBYSxFQUFFLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDbEQsV0FBVyxFQUFFLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDaEQsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixjQUFjLEVBQUU7UUFDZCxFQUFFLEVBQUUsTUFBTTtRQUNWLEdBQUcsRUFBRSxTQUFTO1FBQ2QsQ0FBQyxFQUFFLFlBQVk7UUFDZixFQUFFLEVBQUUsYUFBYTtRQUNqQixHQUFHLEVBQUUsdUJBQXVCO1FBQzVCLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7SUFDRCxhQUFhLEVBQUUsdUJBQXVCO0lBQ3RDLElBQUksQ0FBQyxLQUFLO1FBQ1IsT0FBTyxLQUFLLEtBQUssWUFBWSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPO1FBQzVCLElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2QsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxRQUFRLEVBQUUsR0FBRztLQUNkO0lBQ0QsWUFBWSxFQUFFO1FBQ1osTUFBTSxFQUFFLFFBQVE7UUFDaEIsSUFBSSxFQUFFLFdBQVc7UUFDakIsQ0FBQyxFQUFFLGNBQWM7UUFDakIsRUFBRSxFQUFFLFdBQVc7UUFDZixDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxTQUFTO1FBQ2IsQ0FBQyxFQUFFLFdBQVc7UUFDZCxFQUFFLEVBQUUsWUFBWTtRQUNoQixDQUFDLEVBQUUsT0FBTztRQUNWLEVBQUUsRUFBRSxRQUFRO1FBQ1osQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsVUFBVTtRQUNkLENBQUMsRUFBRSxNQUFNO1FBQ1QsRUFBRSxFQUFFLE9BQU87S0FDWjtJQUVELFFBQVEsQ0FBQyxHQUFXLEVBQUUsTUFBZTtRQUVuQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUMvQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDbkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUVYLG1CQUFtQjtRQUNuQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFHLENBQUM7WUFDcEUsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM1RCxPQUFPLElBQUksR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFVLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDbkMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vIGxvY2FsZSA6IFRoYWktQnVkZGhpc3QgRXJhIFt0aC1iZV1cbi8vIGF1dGhvciA6IFdhdGNoYXJhcG9sIFNhbml0d29uZyA6IGh0dHBzOi8vZ2l0aHViLmNvbS90dW1pdFxuXG5pbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCB0aEJlTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAndGgtYmUnLFxuICBtb250aHM6ICfguKHguIHguKPguLLguITguKFf4LiB4Li44Lih4Lig4Liy4Lie4Lix4LiZ4LiY4LmMX+C4oeC4teC4meC4suC4hOC4oV/guYDguKHguKnguLLguKLguJlf4Lie4Lik4Lip4Lig4Liy4LiE4LihX+C4oeC4tOC4luC4uOC4meC4suC4ouC4mV/guIHguKPguIHguI7guLLguITguKFf4Liq4Li04LiH4Lir4Liy4LiE4LihX+C4geC4seC4meC4ouC4suC4ouC4mV/guJXguLjguKXguLLguITguKFf4Lie4Lik4Lio4LiI4Li04LiB4Liy4Lii4LiZX+C4mOC4seC4meC4p+C4suC4hOC4oScuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICfguKEu4LiELl/guIEu4LieLl/guKHguLUu4LiELl/guYDguKEu4LiiLl/guJ4u4LiELl/guKHguLQu4LiiLl/guIEu4LiELl/guKou4LiELl/guIEu4LiiLl/guJUu4LiELl/guJ4u4LiiLl/guJgu4LiELicuc3BsaXQoJ18nKSxcbiAgbW9udGhzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgd2Vla2RheXM6ICfguK3guLLguJfguLTguJXguKLguYxf4LiI4Lix4LiZ4LiX4Lij4LmMX+C4reC4seC4h+C4hOC4suC4o1/guJ7guLjguJhf4Lie4Lik4Lir4Lix4Liq4Lia4LiU4Li1X+C4qOC4uOC4geC4o+C5jF/guYDguKrguLLguKPguYwnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICfguK3guLIuX+C4iC5f4LitLl/guJ4uX+C4nuC4pC5f4LioLl/guKouJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbjogJ+C4reC4si5f4LiILl/guK0uX+C4ni5f4Lie4LikLl/guKguX+C4qi4nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0g6bW0nLFxuICAgIExUUzogJ0g6bW06c3MnLFxuICAgIEw6ICdERC9NTS9ZWVlZJyxcbiAgICBMTDogJ0QgTU1NTSBZWVlZJyxcbiAgICBMTEw6ICdEIE1NTU0gWVlZWSDguYDguKfguKXguLIgSDptbScsXG4gICAgTExMTDogJ+C4p+C4seC4mWRkZGTguJfguLXguYggRCBNTU1NIFlZWVkg4LmA4Lin4Lil4LiyIEg6bW0nXG4gIH0sXG4gIG1lcmlkaWVtUGFyc2U6IC/guIHguYjguK3guJnguYDguJfguLXguYjguKLguId84Lir4Lil4Lix4LiH4LmA4LiX4Li14LmI4Lii4LiHLyxcbiAgaXNQTShpbnB1dCkge1xuICAgIHJldHVybiBpbnB1dCA9PT0gJ+C4q+C4peC4seC4h+C5gOC4l+C4teC5iOC4ouC4hyc7XG4gIH0sXG4gIG1lcmlkaWVtKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgIGlmIChob3VyIDwgMTIpIHtcbiAgICAgIHJldHVybiAn4LiB4LmI4Lit4LiZ4LmA4LiX4Li14LmI4Lii4LiHJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICfguKvguKXguLHguIfguYDguJfguLXguYjguKLguIcnO1xuICAgIH1cbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW+C4p+C4seC4meC4meC4teC5iSDguYDguKfguKXguLJdIExUJyxcbiAgICBuZXh0RGF5OiAnW+C4nuC4o+C4uOC5iOC4h+C4meC4teC5iSDguYDguKfguKXguLJdIExUJyxcbiAgICBuZXh0V2VlazogJ2RkZGRb4Lir4LiZ4LmJ4LiyIOC5gOC4p+C4peC4sl0gTFQnLFxuICAgIGxhc3REYXk6ICdb4LmA4Lih4Li34LmI4Lit4Lin4Liy4LiZ4LiZ4Li14LmJIOC5gOC4p+C4peC4sl0gTFQnLFxuICAgIGxhc3RXZWVrOiAnW+C4p+C4seC4mV1kZGRkW+C4l+C4teC5iOC5geC4peC5ieC4pyDguYDguKfguKXguLJdIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJ+C4reC4teC4gSAlcycsXG4gICAgcGFzdDogJyVz4LiX4Li14LmI4LmB4Lil4LmJ4LinJyxcbiAgICBzOiAn4LmE4Lih4LmI4LiB4Li14LmI4Lin4Li04LiZ4Liy4LiX4Li1JyxcbiAgICBzczogJyVkIOC4p+C4tOC4meC4suC4l+C4tScsXG4gICAgbTogJzEg4LiZ4Liy4LiX4Li1JyxcbiAgICBtbTogJyVkIOC4meC4suC4l+C4tScsXG4gICAgaDogJzEg4LiK4Lix4LmI4Lin4LmC4Lih4LiHJyxcbiAgICBoaDogJyVkIOC4iuC4seC5iOC4p+C5guC4oeC4hycsXG4gICAgZDogJzEg4Lin4Lix4LiZJyxcbiAgICBkZDogJyVkIOC4p+C4seC4mScsXG4gICAgTTogJzEg4LmA4LiU4Li34Lit4LiZJyxcbiAgICBNTTogJyVkIOC5gOC4lOC4t+C4reC4mScsXG4gICAgeTogJzEg4Lib4Li1JyxcbiAgICB5eTogJyVkIOC4m+C4tSdcbiAgfSxcblxuICBwcmVwYXJzZShzdHI6IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nKTogc3RyaW5nIHtcblxuICAgIGNvbnN0IF9mb3JtYXQgPSB0aEJlTG9jYWxlLmxvbmdEYXRlRm9ybWF0W2Zvcm1hdF1cbiAgICAgID8gdGhCZUxvY2FsZS5sb25nRGF0ZUZvcm1hdFtmb3JtYXRdXG4gICAgICA6IGZvcm1hdDtcblxuICAgIC8vIGVuZHNXaXRoKCdZWVlZJylcbiAgICBpZiAoX2Zvcm1hdC5pbmRleE9mKCdZWVlZJywgX2Zvcm1hdC5sZW5ndGggLSAnWVlZWScubGVuZ3RoKSAhPT0gLTEgKSB7XG4gICAgICBjb25zdCBkZE1NID0gc3RyLnN1YnN0cigwLCBzdHIubGVuZ3RoIC0gNCk7XG4gICAgICBjb25zdCB5eXl5ID0gcGFyc2VJbnQoc3RyLnN1YnN0cihzdHIubGVuZ3RoIC0gNCksIDEwKSAtIDU0MztcbiAgICAgIHJldHVybiBkZE1NICsgeXl5eTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyO1xuICB9LFxuXG4gIGdldEZ1bGxZZWFyKGRhdGU6IERhdGUsIGlzVVRDID0gZmFsc2UpOiBudW1iZXIge1xuICAgIHJldHVybiA1NDMgKyAoaXNVVEMgPyBkYXRlLmdldFVUQ0Z1bGxZZWFyKCkgOiBkYXRlLmdldEZ1bGxZZWFyKCkpO1xuICB9XG59O1xuIl19","//! 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\nlet 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};\nexport const trLocale = {\n abbr: 'tr',\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\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 weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.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 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 M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,\n ordinal(_num) {\n const num = Number(_num);\n if (num === 0) { // special case for zero\n return num + '\\'ıncı';\n }\n let a = num % 10, b = num % 100 - a, c = num >= 100 ? 100 : null;\n return num + (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 1st is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3RyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyx5QkFBeUI7QUFDekIsZ0VBQWdFO0FBQ2hFLHNEQUFzRDtBQUV0RCxJQUFJLFFBQVEsR0FBOEI7SUFDeEMsQ0FBQyxFQUFFLFFBQVE7SUFDWCxDQUFDLEVBQUUsUUFBUTtJQUNYLENBQUMsRUFBRSxRQUFRO0lBQ1gsRUFBRSxFQUFFLFFBQVE7SUFDWixFQUFFLEVBQUUsUUFBUTtJQUNaLENBQUMsRUFBRSxPQUFPO0lBQ1YsQ0FBQyxFQUFFLE9BQU87SUFDVixFQUFFLEVBQUUsT0FBTztJQUNYLEVBQUUsRUFBRSxPQUFPO0lBQ1gsQ0FBQyxFQUFFLFFBQVE7SUFDWCxDQUFDLEVBQUUsUUFBUTtJQUNYLEdBQUcsRUFBRSxRQUFRO0lBQ2IsQ0FBQyxFQUFFLE9BQU87SUFDVixDQUFDLEVBQUUsUUFBUTtJQUNYLEVBQUUsRUFBRSxRQUFRO0lBQ1osRUFBRSxFQUFFLFFBQVE7SUFDWixFQUFFLEVBQUUsUUFBUTtJQUNaLEVBQUUsRUFBRSxRQUFRO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSw0RUFBNEUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9GLFdBQVcsRUFBRSxpREFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3pFLFFBQVEsRUFBRSx1REFBdUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzVFLGFBQWEsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzlDLGNBQWMsRUFBRTtRQUNkLEVBQUUsRUFBRSxPQUFPO1FBQ1gsR0FBRyxFQUFFLFVBQVU7UUFDZixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxhQUFhO1FBQ2pCLEdBQUcsRUFBRSxtQkFBbUI7UUFDeEIsSUFBSSxFQUFFLHlCQUF5QjtLQUNoQztJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLE9BQU8sRUFBRSxVQUFVO1FBQ25CLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsUUFBUSxFQUFFLEdBQUc7S0FDZDtJQUNELFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLElBQUksRUFBRSxTQUFTO1FBQ2YsQ0FBQyxFQUFFLGVBQWU7UUFDbEIsRUFBRSxFQUFFLFdBQVc7UUFDZixDQUFDLEVBQUUsWUFBWTtRQUNmLEVBQUUsRUFBRSxXQUFXO1FBQ2YsQ0FBQyxFQUFFLFVBQVU7UUFDYixFQUFFLEVBQUUsU0FBUztRQUNiLENBQUMsRUFBRSxTQUFTO1FBQ1osRUFBRSxFQUFFLFFBQVE7UUFDWixDQUFDLEVBQUUsUUFBUTtRQUNYLEVBQUUsRUFBRSxPQUFPO1FBQ1gsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLEVBQUUsUUFBUTtLQUNiO0lBQ0Qsc0JBQXNCLEVBQUUsdUNBQXVDO0lBQy9ELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFFLHdCQUF3QjtZQUN4QyxPQUFPLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQ2QsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUNqQixDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUIsT0FBTyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixHQUFHLEVBQUUsQ0FBQyxFQUFFLHVDQUF1QztRQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFFLGdFQUFnRTtLQUN6RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGVEYXRhIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbi8vISBtb21lbnQuanMgbG9jYWxlIGNvbmZpZ3VyYXRpb25cbi8vISBsb2NhbGUgOiBUdXJraXNoIFt0cl1cbi8vISBhdXRob3JzIDogRXJoYW4gR3VuZG9nYW4gOiBodHRwczovL2dpdGh1Yi5jb20vZXJoYW5ndW5kb2dhbixcbi8vISAgICAgICAgICAgQnVyYWsgWWnEn2l0IEtheWE6IGh0dHBzOi8vZ2l0aHViLmNvbS9CWUtcblxubGV0IHN1ZmZpeGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAxOiAnXFwnaW5jaScsXG4gIDU6ICdcXCdpbmNpJyxcbiAgODogJ1xcJ2luY2knLFxuICA3MDogJ1xcJ2luY2knLFxuICA4MDogJ1xcJ2luY2knLFxuICAyOiAnXFwnbmNpJyxcbiAgNzogJ1xcJ25jaScsXG4gIDIwOiAnXFwnbmNpJyxcbiAgNTA6ICdcXCduY2knLFxuICAzOiAnXFwnw7xuY8O8JyxcbiAgNDogJ1xcJ8O8bmPDvCcsXG4gIDEwMDogJ1xcJ8O8bmPDvCcsXG4gIDY6ICdcXCduY8SxJyxcbiAgOTogJ1xcJ3VuY3UnLFxuICAxMDogJ1xcJ3VuY3UnLFxuICAzMDogJ1xcJ3VuY3UnLFxuICA2MDogJ1xcJ8SxbmPEsScsXG4gIDkwOiAnXFwnxLFuY8SxJ1xufTtcblxuZXhwb3J0IGNvbnN0IHRyTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAndHInLFxuICBtb250aHM6ICdPY2FrX8WedWJhdF9NYXJ0X05pc2FuX01hecSxc19IYXppcmFuX1RlbW11el9BxJ91c3Rvc19FeWzDvGxfRWtpbV9LYXPEsW1fQXJhbMSxaycuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICdPY2FfxZ51Yl9NYXJfTmlzX01heV9IYXpfVGVtX0HEn3VfRXlsX0VraV9LYXNfQXJhJy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5czogJ1BhemFyX1BhemFydGVzaV9TYWzEsV/Dh2FyxZ9hbWJhX1BlcsWfZW1iZV9DdW1hX0N1bWFydGVzaScuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNTaG9ydDogJ1Bhel9QdHNfU2FsX8OHYXJfUGVyX0N1bV9DdHMnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAnUHpfUHRfU2Ffw4dhX1BlX0N1X0N0Jy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnSEg6bW0nLFxuICAgIExUUzogJ0hIOm1tOnNzJyxcbiAgICBMOiAnREQuTU0uWVlZWScsXG4gICAgTEw6ICdEIE1NTU0gWVlZWScsXG4gICAgTExMOiAnRCBNTU1NIFlZWVkgSEg6bW0nLFxuICAgIExMTEw6ICdkZGRkLCBEIE1NTU0gWVlZWSBISDptbSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiAnW2J1Z8O8biBzYWF0XSBMVCcsXG4gICAgbmV4dERheTogJ1t5YXLEsW4gc2FhdF0gTFQnLFxuICAgIG5leHRXZWVrOiAnW2dlbGVjZWtdIGRkZGQgW3NhYXRdIExUJyxcbiAgICBsYXN0RGF5OiAnW2TDvG5dIExUJyxcbiAgICBsYXN0V2VlazogJ1tnZcOnZW5dIGRkZGQgW3NhYXRdIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZToge1xuICAgIGZ1dHVyZTogJyVzIHNvbnJhJyxcbiAgICBwYXN0OiAnJXMgw7ZuY2UnLFxuICAgIHM6ICdiaXJrYcOnIHNhbml5ZScsXG4gICAgc3M6ICclZCBzYW5peWUnLFxuICAgIG06ICdiaXIgZGFraWthJyxcbiAgICBtbTogJyVkIGRha2lrYScsXG4gICAgaDogJ2JpciBzYWF0JyxcbiAgICBoaDogJyVkIHNhYXQnLFxuICAgIGQ6ICdiaXIgZ8O8bicsXG4gICAgZGQ6ICclZCBnw7xuJyxcbiAgICBNOiAnYmlyIGF5JyxcbiAgICBNTTogJyVkIGF5JyxcbiAgICB5OiAnYmlyIHnEsWwnLFxuICAgIHl5OiAnJWQgecSxbCdcbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9JyhpbmNpfG5jaXzDvG5jw7x8bmPEsXx1bmN1fMSxbmPEsSkvLFxuICBvcmRpbmFsKF9udW06IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtID0gTnVtYmVyKF9udW0pO1xuICAgIGlmIChudW0gPT09IDApIHsgIC8vIHNwZWNpYWwgY2FzZSBmb3IgemVyb1xuICAgICAgcmV0dXJuIG51bSArICdcXCfEsW5jxLEnO1xuICAgIH1cbiAgICBsZXQgYSA9IG51bSAlIDEwLFxuICAgICAgYiA9IG51bSAlIDEwMCAtIGEsXG4gICAgICBjID0gbnVtID49IDEwMCA/IDEwMCA6IG51bGw7XG4gICAgcmV0dXJuIG51bSArIChzdWZmaXhlc1thXSB8fCBzdWZmaXhlc1tiXSB8fCBzdWZmaXhlc1tjXSk7XG4gIH0sXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNyAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gMXN0IGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","import { getHours } from '../utils/date-getters';\nimport { getDayOfWeek } from '../units/day-of-week';\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\nfunction plural(word, num) {\n let forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(num, withoutSuffix, key) {\n let 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 }\n if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n return num + ' ' + plural(format[key], +num);\n}\nfunction weekdaysCaseReplace(date, format, isUTC) {\n let weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n if (!date) {\n return weekdays.nominative;\n }\n let nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][getDayOfWeek(date, isUTC)];\n}\nfunction processHoursFunction(str) {\n return function (date) {\n return str + 'о' + (getHours(date) === 11 ? 'б' : '') + '] LT';\n };\n}\nexport const ukLocale = {\n abbr: 'uk',\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\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(date) {\n switch (getDayOfWeek(date)) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [')(date);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [')(date);\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(input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n }\n else if (hour < 12) {\n return 'ранку';\n }\n else if (hour < 17) {\n return 'дня';\n }\n else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal(_num, period) {\n const num = Number(_num);\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return num + '-й';\n case 'D':\n return num + '-го';\n default:\n return num.toString();\n }\n },\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3VrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsa0NBQWtDO0FBQ2xDLDJCQUEyQjtBQUMzQixtREFBbUQ7QUFDbkQsd0RBQXdEO0FBRXhELFNBQVMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHO0lBQ3ZCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsT0FBTyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2SixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxHQUFXLEVBQUUsYUFBYSxFQUFFLEdBQUc7SUFDN0QsSUFBSSxNQUFNLEdBQThCO1FBQ3RDLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyx3QkFBd0I7UUFDdkUsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtRQUN2RSxFQUFFLEVBQUUs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NUIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDYixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO2FBQU0sSUFBSSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDckIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQzthQUFNLElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUNELHNCQUFzQixFQUFFLGdCQUFnQjtJQUN4QyxPQUFPLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDbEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDZixLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxLQUFLLENBQUM7WUFDWCxLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRztnQkFDTixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDcEIsS0FBSyxHQUFHO2dCQUNOLE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQztZQUNyQjtnQkFDRSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRSxDQUFDLEVBQUUsdUNBQXVDO1FBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUUsZ0VBQWdFO0tBQ3pFO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IGdldEhvdXJzIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IGdldERheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcblxuLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IFVrcmFpbmlhbiBbdWtdXG4vLyEgYXV0aG9yIDogemVtbGFuaW4gOiBodHRwczovL2dpdGh1Yi5jb20vemVtbGFuaW5cbi8vISBBdXRob3IgOiBNZW5lbGlvbiBFbGVuc8O6bGUgOiBodHRwczovL2dpdGh1Yi5jb20vT2lyZVxuXG5mdW5jdGlvbiBwbHVyYWwod29yZCwgbnVtKSB7XG4gIGxldCBmb3JtcyA9IHdvcmQuc3BsaXQoJ18nKTtcbiAgcmV0dXJuIG51bSAlIDEwID09PSAxICYmIG51bSAlIDEwMCAhPT0gMTEgPyBmb3Jtc1swXSA6IChudW0gJSAxMCA+PSAyICYmIG51bSAlIDEwIDw9IDQgJiYgKG51bSAlIDEwMCA8IDEwIHx8IG51bSAlIDEwMCA+PSAyMCkgPyBmb3Jtc1sxXSA6IGZvcm1zWzJdKTtcbn1cblxuZnVuY3Rpb24gcmVsYXRpdmVUaW1lV2l0aFBsdXJhbChudW06IG51bWJlciwgd2l0aG91dFN1ZmZpeCwga2V5KTogc3RyaW5nIHtcbiAgbGV0IGZvcm1hdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICBzczogd2l0aG91dFN1ZmZpeCA/ICfRgdC10LrRg9C90LTQsF/RgdC10LrRg9C90LTQuF/RgdC10LrRg9C90LQnIDogJ9GB0LXQutGD0L3QtNGDX9GB0LXQutGD0L3QtNC4X9GB0LXQutGD0L3QtCcsXG4gICAgbW06IHdpdGhvdXRTdWZmaXggPyAn0YXQstC40LvQuNC90LBf0YXQstC40LvQuNC90Lhf0YXQstC40LvQuNC9JyA6ICfRhdCy0LjQu9C40L3Rg1/RhdCy0LjQu9C40L3QuF/RhdCy0LjQu9C40L0nLFxuICAgIGhoOiB3aXRob3V0U3VmZml4ID8gJ9Cz0L7QtNC40L3QsF/Qs9C+0LTQuNC90Lhf0LPQvtC00LjQvScgOiAn0LPQvtC00LjQvdGDX9Cz0L7QtNC40L3QuF/Qs9C+0LTQuNC9JyxcbiAgICBkZDogJ9C00LXQvdGMX9C00L3Rll/QtNC90ZbQsicsXG4gICAgTU06ICfQvNGW0YHRj9GG0Yxf0LzRltGB0Y/RhtGWX9C80ZbRgdGP0YbRltCyJyxcbiAgICB5eTogJ9GA0ZbQul/RgNC+0LrQuF/RgNC+0LrRltCyJ1xuICB9O1xuXG4gIGlmIChrZXkgPT09ICdtJykge1xuICAgIHJldHVybiB3aXRob3V0U3VmZml4ID8gJ9GF0LLQuNC70LjQvdCwJyA6ICfRhdCy0LjQu9C40L3Rgyc7XG4gIH1cblxuICBpZiAoa2V5ID09PSAnaCcpIHtcbiAgICByZXR1cm4gd2l0aG91dFN1ZmZpeCA/ICfQs9C+0LTQuNC90LAnIDogJ9Cz0L7QtNC40L3Rgyc7XG4gIH1cbiAgcmV0dXJuIG51bSArICcgJyArIHBsdXJhbChmb3JtYXRba2V5XSwgK251bSk7XG59XG5cbmZ1bmN0aW9uIHdlZWtkYXlzQ2FzZVJlcGxhY2UoZGF0ZTogRGF0ZSwgZm9ybWF0OiBzdHJpbmcsIGlzVVRDPzogYm9vbGVhbik6IHN0cmluZyB8IHN0cmluZ1tdIHtcbiAgbGV0IHdlZWtkYXlzID0ge1xuICAgIG5vbWluYXRpdmU6ICfQvdC10LTRltC70Y9f0L/QvtC90LXQtNGW0LvQvtC6X9Cy0ZbQstGC0L7RgNC+0Lpf0YHQtdGA0LXQtNCwX9GH0LXRgtCy0LXRgF/Qv+KAmdGP0YLQvdC40YbRj1/RgdGD0LHQvtGC0LAnLnNwbGl0KCdfJyksXG4gICAgYWNjdXNhdGl2ZTogJ9C90LXQtNGW0LvRjl/Qv9C+0L3QtdC00ZbQu9C+0Lpf0LLRltCy0YLQvtGA0L7Qul/RgdC10YDQtdC00YNf0YfQtdGC0LLQtdGAX9C/4oCZ0Y/RgtC90LjRhtGOX9GB0YPQsdC+0YLRgycuc3BsaXQoJ18nKSxcbiAgICBnZW5pdGl2ZTogJ9C90LXQtNGW0LvRll/Qv9C+0L3QtdC00ZbQu9C60LBf0LLRltCy0YLQvtGA0LrQsF/RgdC10YDQtdC00Lhf0YfQtdGC0LLQtdGA0LPQsF/Qv+KAmdGP0YLQvdC40YbRll/RgdGD0LHQvtGC0LgnLnNwbGl0KCdfJylcbiAgfTtcblxuICBpZiAoIWRhdGUpIHtcbiAgICByZXR1cm4gd2Vla2RheXMubm9taW5hdGl2ZTtcbiAgfVxuXG4gIGxldCBub3VuQ2FzZSA9ICgvKFxcW1vQktCy0KPRg11cXF0pID9kZGRkLykudGVzdChmb3JtYXQpID9cbiAgICAnYWNjdXNhdGl2ZScgOlxuICAgICgoL1xcWz8oPzrQvNC40L3Rg9C70L7Rl3zQvdCw0YHRgtGD0L/QvdC+0ZcpPyA/XFxdID9kZGRkLykudGVzdChmb3JtYXQpID9cbiAgICAgICdnZW5pdGl2ZScgOlxuICAgICAgJ25vbWluYXRpdmUnKTtcbiAgcmV0dXJuIHdlZWtkYXlzW25vdW5DYXNlXVtnZXREYXlPZldlZWsoZGF0ZSwgaXNVVEMpXTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0hvdXJzRnVuY3Rpb24oc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyICsgJ9C+JyArIChnZXRIb3VycyhkYXRlKSA9PT0gMTEgPyAn0LEnIDogJycpICsgJ10gTFQnO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgdWtMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gIGFiYnI6ICd1aycsXG4gIG1vbnRoczoge1xuICAgIGZvcm1hdDogJ9GB0ZbRh9C90Y9f0LvRjtGC0L7Qs9C+X9Cx0LXRgNC10LfQvdGPX9C60LLRltGC0L3Rj1/RgtGA0LDQstC90Y9f0YfQtdGA0LLQvdGPX9C70LjQv9C90Y9f0YHQtdGA0L/QvdGPX9Cy0LXRgNC10YHQvdGPX9C20L7QstGC0L3Rj1/Qu9C40YHRgtC+0L/QsNC00LBf0LPRgNGD0LTQvdGPJy5zcGxpdCgnXycpLFxuICAgIHN0YW5kYWxvbmU6ICfRgdGW0YfQtdC90Yxf0LvRjtGC0LjQuV/QsdC10YDQtdC30LXQvdGMX9C60LLRltGC0LXQvdGMX9GC0YDQsNCy0LXQvdGMX9GH0LXRgNCy0LXQvdGMX9C70LjQv9C10L3RjF/RgdC10YDQv9C10L3RjF/QstC10YDQtdGB0LXQvdGMX9C20L7QstGC0LXQvdGMX9C70LjRgdGC0L7Qv9Cw0LRf0LPRgNGD0LTQtdC90YwnLnNwbGl0KCdfJylcbiAgfSxcbiAgbW9udGhzU2hvcnQ6ICfRgdGW0Ydf0LvRjtGCX9Cx0LXRgF/QutCy0ZbRgl/RgtGA0LDQsl/Rh9C10YDQsl/Qu9C40L9f0YHQtdGA0L9f0LLQtdGAX9C20L7QstGCX9C70LjRgdGCX9Cz0YDRg9C0Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5czogd2Vla2RheXNDYXNlUmVwbGFjZSxcbiAgd2Vla2RheXNTaG9ydDogJ9C90LRf0L/QvV/QstGCX9GB0YBf0YfRgl/Qv9GCX9GB0LEnLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAn0L3QtF/Qv9C9X9Cy0YJf0YHRgF/Rh9GCX9C/0YJf0YHQsScuc3BsaXQoJ18nKSxcbiAgbG9uZ0RhdGVGb3JtYXQ6IHtcbiAgICBMVDogJ0hIOm1tJyxcbiAgICBMVFM6ICdISDptbTpzcycsXG4gICAgTDogJ0RELk1NLllZWVknLFxuICAgIExMOiAnRCBNTU1NIFlZWVkg0YAuJyxcbiAgICBMTEw6ICdEIE1NTU0gWVlZWSDRgC4sIEhIOm1tJyxcbiAgICBMTExMOiAnZGRkZCwgRCBNTU1NIFlZWVkg0YAuLCBISDptbSdcbiAgfSxcbiAgY2FsZW5kYXI6IHtcbiAgICBzYW1lRGF5OiBwcm9jZXNzSG91cnNGdW5jdGlvbignW9Ch0YzQvtCz0L7QtNC90ZYgJyksXG4gICAgbmV4dERheTogcHJvY2Vzc0hvdXJzRnVuY3Rpb24oJ1vQl9Cw0LLRgtGA0LAgJyksXG4gICAgbGFzdERheTogcHJvY2Vzc0hvdXJzRnVuY3Rpb24oJ1vQktGH0L7RgNCwICcpLFxuICAgIG5leHRXZWVrOiBwcm9jZXNzSG91cnNGdW5jdGlvbignW9CjXSBkZGRkIFsnKSxcbiAgICBsYXN0V2VlayhkYXRlOiBEYXRlKSB7XG4gICAgICBzd2l0Y2ggKGdldERheU9mV2VlayhkYXRlKSkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgcmV0dXJuIHByb2Nlc3NIb3Vyc0Z1bmN0aW9uKCdb0JzQuNC90YPQu9C+0ZddIGRkZGQgWycpKGRhdGUpO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICAgIHJldHVybiBwcm9jZXNzSG91cnNGdW5jdGlvbignW9Cc0LjQvdGD0LvQvtCz0L5dIGRkZGQgWycpKGRhdGUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICfQt9CwICVzJyxcbiAgICBwYXN0OiAnJXMg0YLQvtC80YMnLFxuICAgIHM6ICfQtNC10LrRltC70YzQutCwINGB0LXQutGD0L3QtCcsXG4gICAgc3M6IHJlbGF0aXZlVGltZVdpdGhQbHVyYWwsXG4gICAgbTogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICBtbTogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICBoOiAn0LPQvtC00LjQvdGDJyxcbiAgICBoaDogcmVsYXRpdmVUaW1lV2l0aFBsdXJhbCxcbiAgICBkOiAn0LTQtdC90YwnLFxuICAgIGRkOiByZWxhdGl2ZVRpbWVXaXRoUGx1cmFsLFxuICAgIE06ICfQvNGW0YHRj9GG0YwnLFxuICAgIE1NOiByZWxhdGl2ZVRpbWVXaXRoUGx1cmFsLFxuICAgIHk6ICfRgNGW0LonLFxuICAgIHl5OiByZWxhdGl2ZVRpbWVXaXRoUGx1cmFsXG4gIH0sXG4gIC8vIE0uIEUuOiB0aG9zZSB0d28gYXJlIHZpcnR1YWxseSB1bnVzZWQgYnV0IGEgdXNlciBtaWdodCB3YW50IHRvIGltcGxlbWVudCB0aGVtIGZvciBoaXMvaGVyIHdlYnNpdGUgZm9yIHNvbWUgcmVhc29uXG4gIG1lcmlkaWVtUGFyc2U6IC/QvdC+0YfRlnzRgNCw0L3QutGDfNC00L3Rj3zQstC10YfQvtGA0LAvLFxuICBpc1BNKGlucHV0KSB7XG4gICAgcmV0dXJuIC9eKNC00L3Rj3zQstC10YfQvtGA0LApJC8udGVzdChpbnB1dCk7XG4gIH0sXG4gIG1lcmlkaWVtKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgIGlmIChob3VyIDwgNCkge1xuICAgICAgcmV0dXJuICfQvdC+0YfRlic7XG4gICAgfSBlbHNlIGlmIChob3VyIDwgMTIpIHtcbiAgICAgIHJldHVybiAn0YDQsNC90LrRgyc7XG4gICAgfSBlbHNlIGlmIChob3VyIDwgMTcpIHtcbiAgICAgIHJldHVybiAn0LTQvdGPJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICfQstC10YfQvtGA0LAnO1xuICAgIH1cbiAgfSxcbiAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xcZHsxLDJ9LSjQuXzQs9C+KS8sXG4gIG9yZGluYWwoX251bTogbnVtYmVyLCBwZXJpb2Q6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtID0gTnVtYmVyKF9udW0pO1xuICAgIHN3aXRjaCAocGVyaW9kKSB7XG4gICAgICBjYXNlICdNJzpcbiAgICAgIGNhc2UgJ2QnOlxuICAgICAgY2FzZSAnREREJzpcbiAgICAgIGNhc2UgJ3cnOlxuICAgICAgY2FzZSAnVyc6XG4gICAgICAgIHJldHVybiBudW0gKyAnLdC5JztcbiAgICAgIGNhc2UgJ0QnOlxuICAgICAgICByZXR1cm4gbnVtICsgJy3Qs9C+JztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudW0udG9TdHJpbmcoKTtcbiAgICB9XG4gIH0sXG4gIHdlZWs6IHtcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNyAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gMXN0IGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","//! moment.js locale configuration\n//! locale : Việt Nam [vi]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\nexport const viLocale = {\n abbr: '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 monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\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 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(input) {\n return /^ch$/i.test(input);\n },\n meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n }\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 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(_num) {\n return '' + _num;\n },\n week: {\n dow: 1, // Thứ Hai là ngày đầu tuần.\n doy: 4 // Tuần chứa ngày 4 tháng 1 là tuần đầu tiên trong năm.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3ZpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQywwQkFBMEI7QUFDMUIsMERBQTBEO0FBRTFELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBZTtJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRyxvR0FBb0csQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hILFdBQVcsRUFBRyw2REFBNkQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3RGLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsUUFBUSxFQUFHLHdEQUF3RCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDOUUsYUFBYSxFQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDakQsV0FBVyxFQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDL0Msa0JBQWtCLEVBQUcsSUFBSTtJQUN6QixhQUFhLEVBQUUsUUFBUTtJQUN2QixJQUFJLENBQUMsS0FBYTtRQUNoQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLE9BQWdCO1FBQ3ZELElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBQ0QsY0FBYyxFQUFHO1FBQ2YsRUFBRSxFQUFHLE9BQU87UUFDWixHQUFHLEVBQUcsVUFBVTtRQUNoQixDQUFDLEVBQUcsWUFBWTtRQUNoQixFQUFFLEVBQUcsbUJBQW1CO1FBQ3hCLEdBQUcsRUFBRyx5QkFBeUI7UUFDL0IsSUFBSSxFQUFHLCtCQUErQjtRQUN0QyxDQUFDLEVBQUcsV0FBVztRQUNmLEVBQUUsRUFBRyxZQUFZO1FBQ2pCLEdBQUcsRUFBRyxrQkFBa0I7UUFDeEIsSUFBSSxFQUFHLHVCQUF1QjtLQUMvQjtJQUNELFFBQVEsRUFBRztRQUNULE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyxRQUFRLEVBQUUsR0FBRztLQUNkO0lBQ0QsWUFBWSxFQUFHO1FBQ2IsTUFBTSxFQUFHLFFBQVE7UUFDakIsSUFBSSxFQUFHLFVBQVU7UUFDakIsQ0FBQyxFQUFHLFVBQVU7UUFDZCxFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxVQUFVO1FBQ2QsRUFBRSxFQUFHLFNBQVM7UUFDZCxDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxRQUFRO1FBQ2IsQ0FBQyxFQUFHLFVBQVU7UUFDZCxFQUFFLEVBQUcsU0FBUztRQUNkLENBQUMsRUFBRyxXQUFXO1FBQ2YsRUFBRSxFQUFHLFVBQVU7UUFDZixDQUFDLEVBQUcsU0FBUztRQUNiLEVBQUUsRUFBRyxRQUFRO0tBQ2Q7SUFDRCxzQkFBc0IsRUFBRSxTQUFTO0lBQ2pDLE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxFQUFHO1FBQ0wsR0FBRyxFQUFHLENBQUMsRUFBRSw0QkFBNEI7UUFDckMsR0FBRyxFQUFHLENBQUMsQ0FBRSx1REFBdUQ7S0FDakU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogVmnhu4d0IE5hbSBbdmldXG4vLyEgYXV0aG9yIDogQ2hyaXMgR2VkcmltIDogaHR0cHM6Ly9naXRodWIuY29tL2NocmlzZ2VkcmltXG5cbmV4cG9ydCBjb25zdCB2aUxvY2FsZTogTG9jYWxlRGF0YSA9IHtcbiAgYWJicjogJ3ZpJyxcbiAgbW9udGhzIDogJ3Row6FuZyAxX3Row6FuZyAyX3Row6FuZyAzX3Row6FuZyA0X3Row6FuZyA1X3Row6FuZyA2X3Row6FuZyA3X3Row6FuZyA4X3Row6FuZyA5X3Row6FuZyAxMF90aMOhbmcgMTFfdGjDoW5nIDEyJy5zcGxpdCgnXycpLFxuICBtb250aHNTaG9ydCA6ICdUaDAxX1RoMDJfVGgwM19UaDA0X1RoMDVfVGgwNl9UaDA3X1RoMDhfVGgwOV9UaDEwX1RoMTFfVGgxMicuc3BsaXQoJ18nKSxcbiAgbW9udGhzUGFyc2VFeGFjdDogdHJ1ZSxcbiAgd2Vla2RheXMgOiAnY2jhu6cgbmjhuq10X3Ro4bupIGhhaV90aOG7qSBiYV90aOG7qSB0xrBfdGjhu6kgbsSDbV90aOG7qSBzw6F1X3Ro4bupIGLhuqN5Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c1Nob3J0IDogJ0NOX1QyX1QzX1Q0X1Q1X1Q2X1Q3Jy5zcGxpdCgnXycpLFxuICB3ZWVrZGF5c01pbiA6ICdDTl9UMl9UM19UNF9UNV9UNl9UNycuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXNQYXJzZUV4YWN0IDogdHJ1ZSxcbiAgbWVyaWRpZW1QYXJzZTogL3NhfGNoL2ksXG4gIGlzUE0oaW5wdXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAvXmNoJC9pLnRlc3QoaW5wdXQpO1xuICB9LFxuICBtZXJpZGllbShob3VyczogbnVtYmVyLCBtaW51dGVzOiBudW1iZXIsIGlzTG93ZXI6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGlmIChob3VycyA8IDEyKSB7XG4gICAgICByZXR1cm4gaXNMb3dlciA/ICdzYScgOiAnU0EnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaXNMb3dlciA/ICdjaCcgOiAnQ0gnO1xuICAgIH1cbiAgfSxcbiAgbG9uZ0RhdGVGb3JtYXQgOiB7XG4gICAgTFQgOiAnSEg6bW0nLFxuICAgIExUUyA6ICdISDptbTpzcycsXG4gICAgTCA6ICdERC9NTS9ZWVlZJyxcbiAgICBMTCA6ICdEIE1NTU0gW27Eg21dIFlZWVknLFxuICAgIExMTCA6ICdEIE1NTU0gW27Eg21dIFlZWVkgSEg6bW0nLFxuICAgIExMTEwgOiAnZGRkZCwgRCBNTU1NIFtuxINtXSBZWVlZIEhIOm1tJyxcbiAgICBsIDogJ0REL00vWVlZWScsXG4gICAgbGwgOiAnRCBNTU0gWVlZWScsXG4gICAgbGxsIDogJ0QgTU1NIFlZWVkgSEg6bW0nLFxuICAgIGxsbGwgOiAnZGRkLCBEIE1NTSBZWVlZIEhIOm1tJ1xuICB9LFxuICBjYWxlbmRhciA6IHtcbiAgICBzYW1lRGF5OiAnW0jDtG0gbmF5IGzDumNdIExUJyxcbiAgICBuZXh0RGF5OiAnW05nw6B5IG1haSBsw7pjXSBMVCcsXG4gICAgbmV4dFdlZWs6ICdkZGRkIFt0deG6p24gdOG7m2kgbMO6Y10gTFQnLFxuICAgIGxhc3REYXk6ICdbSMO0bSBxdWEgbMO6Y10gTFQnLFxuICAgIGxhc3RXZWVrOiAnZGRkZCBbdHXhuqduIHRyxrDhu5tjIGzDumNdIExUJyxcbiAgICBzYW1lRWxzZTogJ0wnXG4gIH0sXG4gIHJlbGF0aXZlVGltZSA6IHtcbiAgICBmdXR1cmUgOiAnJXMgdOG7m2knLFxuICAgIHBhc3QgOiAnJXMgdHLGsOG7m2MnLFxuICAgIHMgOiAndsOgaSBnacOieScsXG4gICAgc3MgOiAnJWQgZ2nDonknICxcbiAgICBtIDogJ23hu5l0IHBow7p0JyxcbiAgICBtbSA6ICclZCBwaMO6dCcsXG4gICAgaCA6ICdt4buZdCBnaeG7nScsXG4gICAgaGggOiAnJWQgZ2nhu50nLFxuICAgIGQgOiAnbeG7mXQgbmfDoHknLFxuICAgIGRkIDogJyVkIG5nw6B5JyxcbiAgICBNIDogJ23hu5l0IHRow6FuZycsXG4gICAgTU0gOiAnJWQgdGjDoW5nJyxcbiAgICB5IDogJ23hu5l0IG7Eg20nLFxuICAgIHl5IDogJyVkIG7Eg20nXG4gIH0sXG4gIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfS8sXG4gIG9yZGluYWwoX251bTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJycgKyBfbnVtO1xuICB9LFxuICB3ZWVrIDoge1xuICAgIGRvdyA6IDEsIC8vIFRo4bupIEhhaSBsw6AgbmfDoHkgxJHhuqd1IHR14bqnbi5cbiAgICBkb3kgOiA0ICAvLyBUdeG6p24gY2jhu6lhIG5nw6B5IDQgdGjDoW5nIDEgbMOgIHR14bqnbiDEkeG6p3UgdGnDqm4gdHJvbmcgbsSDbS5cbiAgfVxufTtcblxuIl19","//! 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\nexport const zhCnLocale = {\n abbr: 'zh-cn',\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\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(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n }\n else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem(hour, minute, isLower) {\n let hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n }\n else if (hm < 900) {\n return '早上';\n }\n else if (hm < 1130) {\n return '上午';\n }\n else if (hm < 1230) {\n return '中午';\n }\n else if (hm < 1800) {\n return '下午';\n }\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(_num, period) {\n const num = Number(_num);\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return num + '日';\n case 'M':\n return num + '月';\n case 'w':\n case 'W':\n return num + '周';\n default:\n return num.toString();\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 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemgtY24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL3poLWNuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtDQUFrQztBQUNsQyxvQ0FBb0M7QUFDcEMsK0NBQStDO0FBQy9DLG9EQUFvRDtBQUVwRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWU7SUFDcEMsSUFBSSxFQUFFLE9BQU87SUFDYixNQUFNLEVBQUUsdUNBQXVDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxRCxXQUFXLEVBQUUsd0NBQXdDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNoRSxRQUFRLEVBQUUsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNsRCxhQUFhLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNoRCxXQUFXLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDdkMsY0FBYyxFQUFFO1FBQ2QsRUFBRSxFQUFFLE9BQU87UUFDWCxHQUFHLEVBQUUsVUFBVTtRQUNmLENBQUMsRUFBRSxZQUFZO1FBQ2YsRUFBRSxFQUFFLFdBQVc7UUFDZixHQUFHLEVBQUUsaUJBQWlCO1FBQ3RCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsQ0FBQyxFQUFFLFVBQVU7UUFDYixFQUFFLEVBQUUsV0FBVztRQUNmLEdBQUcsRUFBRSxpQkFBaUI7UUFDdEIsSUFBSSxFQUFFLHFCQUFxQjtLQUM1QjtJQUNELGFBQWEsRUFBRSxtQkFBbUI7SUFDbEMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRO1FBQ3pCLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLElBQUksR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxJQUFJO1lBQ3hDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxJQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2xELE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU87WUFDUCxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU87UUFDNUIsSUFBSSxFQUFFLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxJQUFJLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFFBQVEsRUFBRSxHQUFHO0tBQ2Q7SUFDRCxzQkFBc0IsRUFBRSxnQkFBZ0I7SUFDeEMsT0FBTyxDQUFDLElBQVksRUFBRSxNQUFNO1FBQzFCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssS0FBSztnQkFDUixPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDbkIsS0FBSyxHQUFHO2dCQUNOLE9BQU8sR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNuQixLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRztnQkFDTixPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDbkI7Z0JBQ0UsT0FBTyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFDRCxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxLQUFLO1FBQ1gsQ0FBQyxFQUFFLElBQUk7UUFDUCxFQUFFLEVBQUUsTUFBTTtRQUNWLENBQUMsRUFBRSxNQUFNO1FBQ1QsRUFBRSxFQUFFLE9BQU87UUFDWCxDQUFDLEVBQUUsTUFBTTtRQUNULEVBQUUsRUFBRSxPQUFPO1FBQ1gsQ0FBQyxFQUFFLEtBQUs7UUFDUixFQUFFLEVBQUUsTUFBTTtRQUNWLENBQUMsRUFBRSxNQUFNO1FBQ1QsRUFBRSxFQUFFLE9BQU87UUFDWCxDQUFDLEVBQUUsS0FBSztRQUNSLEVBQUUsRUFBRSxNQUFNO0tBQ1g7SUFDRCxJQUFJLEVBQUU7UUFDSix5REFBeUQ7UUFDekQsR0FBRyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7UUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBRSxnRUFBZ0U7S0FDekU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlRGF0YSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuXG4vLyEgbW9tZW50LmpzIGxvY2FsZSBjb25maWd1cmF0aW9uXG4vLyEgbG9jYWxlIDogQ2hpbmVzZSAoQ2hpbmEpIFt6aC1jbl1cbi8vISBhdXRob3IgOiBzdXVwaWMgOiBodHRwczovL2dpdGh1Yi5jb20vc3V1cGljXG4vLyEgYXV0aG9yIDogWmVubyBaZW5nIDogaHR0cHM6Ly9naXRodWIuY29tL3plbm96ZW5nXG5cbmV4cG9ydCBjb25zdCB6aENuTG9jYWxlOiBMb2NhbGVEYXRhID0ge1xuICBhYmJyOiAnemgtY24nLFxuICBtb250aHM6ICfkuIDmnIhf5LqM5pyIX+S4ieaciF/lm5vmnIhf5LqU5pyIX+WFreaciF/kuIPmnIhf5YWr5pyIX+S5neaciF/ljYHmnIhf5Y2B5LiA5pyIX+WNgeS6jOaciCcuc3BsaXQoJ18nKSxcbiAgbW9udGhzU2hvcnQ6ICcx5pyIXzLmnIhfM+aciF805pyIXzXmnIhfNuaciF835pyIXzjmnIhfOeaciF8xMOaciF8xMeaciF8xMuaciCcuc3BsaXQoJ18nKSxcbiAgd2Vla2RheXM6ICfmmJ/mnJ/ml6Vf5pif5pyf5LiAX+aYn+acn+S6jF/mmJ/mnJ/kuIlf5pif5pyf5ZubX+aYn+acn+S6lF/mmJ/mnJ/lha0nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzU2hvcnQ6ICflkajml6Vf5ZGo5LiAX+WRqOS6jF/lkajkuIlf5ZGo5ZubX+WRqOS6lF/lkajlha0nLnNwbGl0KCdfJyksXG4gIHdlZWtkYXlzTWluOiAn5pelX+S4gF/kuoxf5LiJX+Wbm1/kupRf5YWtJy5zcGxpdCgnXycpLFxuICBsb25nRGF0ZUZvcm1hdDoge1xuICAgIExUOiAnSEg6bW0nLFxuICAgIExUUzogJ0hIOm1tOnNzJyxcbiAgICBMOiAnWVlZWS9NTS9ERCcsXG4gICAgTEw6ICdZWVlZ5bm0TeaciETml6UnLFxuICAgIExMTDogJ1lZWVnlubRN5pyIROaXpUFo54K5bW3liIYnLFxuICAgIExMTEw6ICdZWVlZ5bm0TeaciETml6VkZGRkQWjngrltbeWIhicsXG4gICAgbDogJ1lZWVkvTS9EJyxcbiAgICBsbDogJ1lZWVnlubRN5pyIROaXpScsXG4gICAgbGxsOiAnWVlZWeW5tE3mnIhE5pelIEhIOm1tJyxcbiAgICBsbGxsOiAnWVlZWeW5tE3mnIhE5pelZGRkZCBISDptbSdcbiAgfSxcbiAgbWVyaWRpZW1QYXJzZTogL+WHjOaZqHzml6nkuIp85LiK5Y2IfOS4reWNiHzkuIvljYh85pma5LiKLyxcbiAgbWVyaWRpZW1Ib3VyKGhvdXIsIG1lcmlkaWVtKSB7XG4gICAgaWYgKGhvdXIgPT09IDEyKSB7XG4gICAgICBob3VyID0gMDtcbiAgICB9XG4gICAgaWYgKG1lcmlkaWVtID09PSAn5YeM5pmoJyB8fCBtZXJpZGllbSA9PT0gJ+aXqeS4iicgfHxcbiAgICAgIG1lcmlkaWVtID09PSAn5LiK5Y2IJykge1xuICAgICAgcmV0dXJuIGhvdXI7XG4gICAgfSBlbHNlIGlmIChtZXJpZGllbSA9PT0gJ+S4i+WNiCcgfHwgbWVyaWRpZW0gPT09ICfmmZrkuIonKSB7XG4gICAgICByZXR1cm4gaG91ciArIDEyO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyAn5Lit5Y2IJ1xuICAgICAgcmV0dXJuIGhvdXIgPj0gMTEgPyBob3VyIDogaG91ciArIDEyO1xuICAgIH1cbiAgfSxcbiAgbWVyaWRpZW0oaG91ciwgbWludXRlLCBpc0xvd2VyKSB7XG4gICAgbGV0IGhtID0gaG91ciAqIDEwMCArIG1pbnV0ZTtcbiAgICBpZiAoaG0gPCA2MDApIHtcbiAgICAgIHJldHVybiAn5YeM5pmoJztcbiAgICB9IGVsc2UgaWYgKGhtIDwgOTAwKSB7XG4gICAgICByZXR1cm4gJ+aXqeS4iic7XG4gICAgfSBlbHNlIGlmIChobSA8IDExMzApIHtcbiAgICAgIHJldHVybiAn5LiK5Y2IJztcbiAgICB9IGVsc2UgaWYgKGhtIDwgMTIzMCkge1xuICAgICAgcmV0dXJuICfkuK3ljYgnO1xuICAgIH0gZWxzZSBpZiAoaG0gPCAxODAwKSB7XG4gICAgICByZXR1cm4gJ+S4i+WNiCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAn5pma5LiKJztcbiAgICB9XG4gIH0sXG4gIGNhbGVuZGFyOiB7XG4gICAgc2FtZURheTogJ1vku4rlpKldTFQnLFxuICAgIG5leHREYXk6ICdb5piO5aSpXUxUJyxcbiAgICBuZXh0V2VlazogJ1vkuItdZGRkZExUJyxcbiAgICBsYXN0RGF5OiAnW+aYqOWkqV1MVCcsXG4gICAgbGFzdFdlZWs6ICdb5LiKXWRkZGRMVCcsXG4gICAgc2FtZUVsc2U6ICdMJ1xuICB9LFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn0o5pelfOaciHzlkagpLyxcbiAgb3JkaW5hbChfbnVtOiBudW1iZXIsIHBlcmlvZCkge1xuICAgIGNvbnN0IG51bSA9IE51bWJlcihfbnVtKTtcbiAgICBzd2l0Y2ggKHBlcmlvZCkge1xuICAgICAgY2FzZSAnZCc6XG4gICAgICBjYXNlICdEJzpcbiAgICAgIGNhc2UgJ0RERCc6XG4gICAgICAgIHJldHVybiBudW0gKyAn5pelJztcbiAgICAgIGNhc2UgJ00nOlxuICAgICAgICByZXR1cm4gbnVtICsgJ+aciCc7XG4gICAgICBjYXNlICd3JzpcbiAgICAgIGNhc2UgJ1cnOlxuICAgICAgICByZXR1cm4gbnVtICsgJ+WRqCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVtLnRvU3RyaW5nKCk7XG4gICAgfVxuICB9LFxuICByZWxhdGl2ZVRpbWU6IHtcbiAgICBmdXR1cmU6ICclc+WGhScsXG4gICAgcGFzdDogJyVz5YmNJyxcbiAgICBzOiAn5Yeg56eSJyxcbiAgICBzczogJyVkIOenkicsXG4gICAgbTogJzEg5YiG6ZKfJyxcbiAgICBtbTogJyVkIOWIhumSnycsXG4gICAgaDogJzEg5bCP5pe2JyxcbiAgICBoaDogJyVkIOWwj+aXticsXG4gICAgZDogJzEg5aSpJyxcbiAgICBkZDogJyVkIOWkqScsXG4gICAgTTogJzEg5Liq5pyIJyxcbiAgICBNTTogJyVkIOS4quaciCcsXG4gICAgeTogJzEg5bm0JyxcbiAgICB5eTogJyVkIOW5tCdcbiAgfSxcbiAgd2Vlazoge1xuICAgIC8vIEdCL1QgNzQwOC0xOTk044CK5pWw5o2u5YWD5ZKM5Lqk5o2i5qC85byPwrfkv6Hmga/kuqTmjaLCt+aXpeacn+WSjOaXtumXtOihqOekuuazleOAi+S4jklTTyA4NjAxOjE5ODjnrYnmlYhcbiAgICBkb3c6IDEsIC8vIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgIGRveTogNCAgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNHRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICB9XG59O1xuIl19","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Meysam Bahadori: https://github.com/MeysamBahadori\nconst symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n};\nconst numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\nconst pluralForm = function (num) {\n return num === 0 ? 0 : num === 1 ? 1 : num === 2 ? 2 : num % 100 >= 3 && num % 100 <= 10 ? 3 : num % 100 >= 11 ? 4 : 5;\n};\nvar plurals = {\n s: ['کمتر از یک ثانیه', 'یک ثانیه', ['دو ثانیه', 'دو ثانیه'], '%d ثانیه', '%d ثانیه', '%d ثانیه'],\n m: ['کمتر از یک دقیقه', 'یک دقیقه', ['دو دقیقه', 'دو دقیقه'], '%d دقیقه', '%d دقیقه', '%d دقیقه'],\n h: ['کمتر از یک ساعت', 'یک ساعت', ['دو ساعت', 'دو ساعت'], '%d ساعت', '%d ساعت', '%d ساعت'],\n d: ['کمتر از یک روز', 'یک روز', ['دو روز', 'دو روز'], '%d روز', '%d روز', '%d روز'],\n M: ['کمتر از یک ماه', 'یک ماه', ['دو ماه', 'دو ماه'], '%d ماه', '%d ماه', '%d ماه'],\n y: ['کمتر از یک سال', 'یک سال', ['دو سال', 'دو سال'], '%d سال', '%d سال', '%d سال']\n};\nconst pluralize = function (u) {\n return function (num, withoutSuffix) {\n const f = pluralForm(num);\n let str = plurals[u][pluralForm(num)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, num.toString());\n };\n};\nconst months = [\n 'ژانویه',\n 'فوریه',\n 'مارس',\n 'آوریل',\n 'می',\n 'ژوئن',\n 'جولای',\n 'آگوست',\n 'سپتامبر',\n 'اکتبر',\n 'نوامبر',\n 'دسامبر'\n];\nexport const faLocale = {\n abbr: 'fa',\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(input) {\n return 'م' === input;\n },\n meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n }\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(str) {\n return str.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat(str) {\n return str.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 80 // The week that contains March 21th is the first week of the year.\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy9pMThuL2ZhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtDQUFrQztBQUNsQyx5QkFBeUI7QUFDekIsK0RBQStEO0FBSS9ELE1BQU0sU0FBUyxHQUE0QjtJQUN2QyxDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztDQUNQLENBQUM7QUFFSixNQUFNLFNBQVMsR0FBNEI7SUFDekMsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEdBQUc7Q0FDVCxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsVUFBVSxHQUFXO0lBQ3BDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUM7UUFDMUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEtBQUs7WUFDdkMsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0gsSUFBSSxFQUFFO1FBQ0YsR0FBRyxFQUFFLENBQUMsRUFBRSx5Q0FBeUM7UUFDakQsR0FBRyxFQUFFLEVBQUUsQ0FBQyxtRUFBbUU7S0FDOUU7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8hIG1vbWVudC5qcyBsb2NhbGUgY29uZmlndXJhdGlvblxuLy8hIGxvY2FsZSA6IFBlcnNpYW4gW2ZhXVxuLy8hIGF1dGhvciA6IE1leXNhbSBCYWhhZG9yaTogaHR0cHM6Ly9naXRodWIuY29tL01leXNhbUJhaGFkb3JpXG5cbmltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcblxuY29uc3Qgc3ltYm9sTWFwOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHtcbiAgICAxOiAn2aEnLFxuICAgIDI6ICfZoicsXG4gICAgMzogJ9mjJyxcbiAgICA0OiAn2aQnLFxuICAgIDU6ICfZpScsXG4gICAgNjogJ9mmJyxcbiAgICA3OiAn2acnLFxuICAgIDg6ICfZqCcsXG4gICAgOTogJ9mpJyxcbiAgICAwOiAn2aAnXG4gIH07XG5cbmNvbnN0IG51bWJlck1hcDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICfZoSc6ICcxJyxcbiAgJ9miJzogJzInLFxuICAn2aMnOiAnMycsXG4gICfZpCc6ICc0JyxcbiAgJ9mlJzogJzUnLFxuICAn2aYnOiAnNicsXG4gICfZpyc6ICc3JyxcbiAgJ9moJzogJzgnLFxuICAn2aknOiAnOScsXG4gICfZoCc6ICcwJ1xufTtcblxuY29uc3QgcGx1cmFsRm9ybSA9IGZ1bmN0aW9uIChudW06IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIG51bSA9PT0gMCA/IDAgOiBudW0gPT09IDEgPyAxIDogbnVtID09PSAyID8gMiA6IG51bSAlIDEwMCA+PSAzICYmIG51bSAlIDEwMCA8PSAxMCA/IDMgOiBudW0gJSAxMDAgPj0gMTEgPyA0IDogNTtcbiAgfTtcbiAgXG52YXIgcGx1cmFscyA6IHtba2V5OiBzdHJpbmddOiBbc3RyaW5nLCBzdHJpbmcsIFtzdHJpbmcsIHN0cmluZ10sIHN0cmluZywgc3RyaW5nLCBzdHJpbmddfSA9IHtcbiAgICBzOiBbJ9qp2YXYqtixINin2LIg24zaqSDYq9in2YbbjNmHJywgJ9uM2qkg2KvYp9mG24zZhycsIFsn2K/ZiCDYq9in2YbbjNmHJywgJ9iv2Ygg2KvYp9mG24zZhyddLCAnJWQg2KvYp9mG24zZhycsICclZCDYq9in2YbbjNmHJywgJyVkINir2KfZhtuM2YcnXSxcbiAgICBtOiBbJ9qp2YXYqtixINin2LIg24zaqSDYr9mC24zZgtmHJywgJ9uM2qkg2K/ZgtuM2YLZhycsIFsn2K/ZiCDYr9mC24zZgtmHJywgJ9iv2Ygg2K/ZgtuM2YLZhyddLCAnJWQg2K/ZgtuM2YLZhycsICclZCDYr9mC24zZgtmHJywgJyVkINiv2YLbjNmC2YcnXSxcbiAgICBoOiBbJ9qp2YXYqtixINin2LIg24zaqSDYs9in2LnYqicsICfbjNqpINiz2KfYudiqJywgWyfYr9mIINiz2KfYudiqJywgJ9iv2Ygg2LPYp9i52KonXSwgJyVkINiz2KfYudiqJywgJyVkINiz2KfYudiqJywgJyVkINiz2KfYudiqJ10sXG4gICAgZDogWyfaqdmF2KrYsSDYp9iyINuM2qkg2LHZiNiyJywgJ9uM2qkg2LHZiNiyJywgWyfYr9mIINix2YjYsicsICfYr9mIINix2YjYsiddLCAnJWQg2LHZiNiyJywgJyVkINix2YjYsicsICclZCDYsdmI2LInXSxcbiAgICBNOiBbJ9qp2YXYqtixINin2LIg24zaqSDZhdin2YcnLCAn24zaqSDZhdin2YcnLCBbJ9iv2Ygg2YXYp9mHJywgJ9iv2Ygg2YXYp9mHJ10sICclZCDZhdin2YcnLCAnJWQg2YXYp9mHJywgJyVkINmF2KfZhyddLFxuICAgIHk6IFsn2qnZhdiq2LEg2KfYsiDbjNqpINiz2KfZhCcsICfbjNqpINiz2KfZhCcsIFsn2K/ZiCDYs9in2YQnLCAn2K/ZiCDYs9in2YQnXSwgJyVkINiz2KfZhCcsICclZCDYs9in2YQnLCAnJWQg2LPYp9mEJ11cbn07XG5cbmNvbnN0IHBsdXJhbGl6ZSA9IGZ1bmN0aW9uICh1OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKG51bTogbnVtYmVyLCB3aXRob3V0U3VmZml4OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGYgPSBwbHVyYWxGb3JtKG51bSk7XG4gICAgICBsZXQgc3RyID0gcGx1cmFsc1t1XVtwbHVyYWxGb3JtKG51bSldO1xuICAgICAgaWYgKGYgPT09IDIpIHtcbiAgICAgICAgc3RyID0gc3RyW3dpdGhvdXRTdWZmaXggPyAwIDogMV07XG4gICAgICB9XG4gIFxuICAgICAgcmV0dXJuIChzdHIgYXMgc3RyaW5nKS5yZXBsYWNlKC8lZC9pLCBudW0udG9TdHJpbmcoKSk7XG4gICAgfTtcbiAgfTtcblxuICBjb25zdCBtb250aHM6IHN0cmluZ1tdID0gW1xuICAgICfamNin2YbZiNuM2YcnLFxuICAgICfZgdmI2LHbjNmHJyxcbiAgICAn2YXYp9ix2LMnLFxuICAgICfYotmI2LHbjNmEJyxcbiAgICAn2YXbjCcsXG4gICAgJ9qY2YjYptmGJyxcbiAgICAn2KzZiNmE2KfbjCcsXG4gICAgJ9ii2q/ZiNiz2KonLFxuICAgICfYs9m+2KrYp9mF2KjYsScsXG4gICAgJ9in2qnYqtio2LEnLFxuICAgICfZhtmI2KfZhdio2LEnLFxuICAgICfYr9iz2KfZhdio2LEnXG5dO1xuXG5leHBvcnQgY29uc3QgZmFMb2NhbGU6IExvY2FsZURhdGEgPSB7XG4gICAgYWJicjogJ2ZhJyxcbiAgICBtb250aHM6IG1vbnRocyxcbiAgICBtb250aHNTaG9ydDogbW9udGhzLFxuICAgIHdlZWtkYXlzOiAn24zaqdi02YbYqNmHX9iv2YjYtNmG2KjZh1/Ys9mHINi02YbYqNmHX9qG2YfYp9ix2LTZhtio2Ydf2b7ZhtisINi02YbYqNmHX9is2YXYudmHX9i02YbYqNmHJy5zcGxpdCgnXycpLFxuICAgIHdlZWtkYXlzU2hvcnQ6ICfbjNqp2LTZhtio2Ydf2K/ZiOKAjNi02YbYqNmHX9iz2YfigIzYtNmG2KjZh1/ahtmH2KfYseKAjNi02YbYqNmHX9m+2YbYrOKAjNi02YbYqNmHX9is2YXYudmHX9i02YbYqNmHJy5zcGxpdCgnXycpLFxuICAgIHdlZWtkYXlzTWluOiAn24xf2K9f2LNf2oZf2b5f2Kxf2LQnLnNwbGl0KCdfJyksXG4gICAgd2Vla2RheXNQYXJzZUV4YWN0OiB0cnVlLFxuICAgIGxvbmdEYXRlRm9ybWF0OiB7XG4gICAgICAgIExUOiAnSEg6bW0nLFxuICAgICAgICBMVFM6ICdISDptbTpzcycsXG4gICAgICAgIEw6ICdEL1xcdTIwMEZNL1xcdTIwMEZZWVlZJyxcbiAgICAgICAgTEw6ICdEIE1NTU0gWVlZWScsXG4gICAgICAgIExMTDogJ0QgTU1NTSBZWVlZIEhIOm1tJyxcbiAgICAgICAgTExMTDogJ2RkZGQgRCBNTU1NIFlZWVkgSEg6bW0nXG4gICAgfSxcbiAgICBtZXJpZGllbVBhcnNlOiAv2LV82YUvLFxuICAgIGlzUE0oaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuICfZhScgPT09IGlucHV0O1xuICAgICAgfSxcbiAgICAgIG1lcmlkaWVtKGhvdXIsIG1pbnV0ZSwgaXNMb3dlcikge1xuICAgICAgICBpZiAoaG91ciA8IDEyKSB7XG4gICAgICAgICAgcmV0dXJuICfYtSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuICfZhSc7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgY2FsZW5kYXI6IHtcbiAgICAgICAgc2FtZURheTogJ1vYp9mF2LHZiNiyINiv2LEg2LPYp9i52KpdIExUJyxcbiAgICAgICAgbmV4dERheTogJ1vZgdix2K/YpyDYr9ixINiz2KfYudiqXSBMVCcsXG4gICAgICAgIG5leHRXZWVrOiAnZGRkZCBb2K/YsSDYs9in2LnYql0gTFQnLFxuICAgICAgICBsYXN0RGF5OiAnW9iv24zYsdmI2LIg2K/YsSDYs9in2LnYql0gTFQnLFxuICAgICAgICBsYXN0V2VlazogJ2RkZGQgW9iv2LEg2LPYp9i52KpdIExUJyxcbiAgICAgICAgc2FtZUVsc2U6ICdMJ1xuICAgIH0sXG4gICAgcmVsYXRpdmVUaW1lOiB7XG4gICAgICAgIGZ1dHVyZTogJ9io2LnYryAlcycsXG4gICAgICAgIHBhc3Q6ICfZvtuM2LQgJXMnLFxuICAgICAgICBzOiBwbHVyYWxpemUoJ3MnKSxcbiAgICAgICAgc3M6IHBsdXJhbGl6ZSgncycpLFxuICAgICAgICBtOiBwbHVyYWxpemUoJ20nKSxcbiAgICAgICAgbW06IHBsdXJhbGl6ZSgnbScpLFxuICAgICAgICBoOiBwbHVyYWxpemUoJ2gnKSxcbiAgICAgICAgaGg6IHBsdXJhbGl6ZSgnaCcpLFxuICAgICAgICBkOiBwbHVyYWxpemUoJ2QnKSxcbiAgICAgICAgZGQ6IHBsdXJhbGl6ZSgnZCcpLFxuICAgICAgICBNOiBwbHVyYWxpemUoJ00nKSxcbiAgICAgICAgTU06IHBsdXJhbGl6ZSgnTScpLFxuICAgICAgICB5OiBwbHVyYWxpemUoJ3knKSxcbiAgICAgICAgeXk6IHBsdXJhbGl6ZSgneScpXG4gICAgfSxcbiAgICBwcmVwYXJzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvW9mh2aLZo9mk2aXZptmn2ajZqdmgXS9nLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICAgICAgICByZXR1cm4gbnVtYmVyTWFwW21hdGNoXTtcbiAgICAgICAgfSkucmVwbGFjZSgv2IwvZywgJywnKTtcbiAgICAgIH0sXG4gICAgICBwb3N0Zm9ybWF0KHN0cjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvXFxkL2csIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgICAgICAgIHJldHVybiBzeW1ib2xNYXBbbWF0Y2hdO1xuICAgICAgICB9KS5yZXBsYWNlKC8sL2csICfYjCcpO1xuICAgICAgfSxcbiAgICB3ZWVrOiB7XG4gICAgICAgIGRvdzogNiwgLy8gU2F0dXJkYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICAgICAgZG95OiA4MCAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIE1hcmNoIDIxdGggaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuXG4gICAgfVxufTtcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWJvb3RzdHJhcC1jaHJvbm9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nocm9ub3Mvbmd4LWJvb3RzdHJhcC1jaHJvbm9zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["daysInMonth","isSameDay","symbolMap","numberMap","pluralForm","plurals","pluralize","months","monthsShortDot","monthsShort","monthsParse","monthsRegex","plural","translate","processRelativeTime","suffixes","monthsShortWithDots","monthsShortWithoutDots","relativeTimeWithPlural"],"mappings":"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"}
|