{"version":3,"file":"static/js/669.872e521f.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/AcUnit.js","../node_modules/@mui/icons-material/Air.js","../node_modules/@mui/icons-material/ArrowBack.js","../node_modules/@mui/icons-material/ArrowLeft.js","../node_modules/@mui/icons-material/BlurOn.js","../node_modules/@mui/icons-material/Book.js","../node_modules/@mui/icons-material/Check.js","../node_modules/@mui/icons-material/Cloud.js","../node_modules/@mui/icons-material/CloudOutlined.js","../node_modules/@mui/icons-material/CloudQueue.js","../node_modules/@mui/icons-material/Computer.js","../node_modules/@mui/icons-material/DeleteForever.js","../node_modules/@mui/icons-material/FilterList.js","../node_modules/@mui/icons-material/FlashOn.js","../node_modules/@mui/icons-material/Grain.js","../node_modules/@mui/icons-material/Home.js","../node_modules/@mui/icons-material/HowToReg.js","../node_modules/@mui/icons-material/Mail.js","../node_modules/@mui/icons-material/Newspaper.js","../node_modules/@mui/icons-material/North.js","../node_modules/@mui/icons-material/Opacity.js","../node_modules/@mui/icons-material/Phone.js","../node_modules/@mui/icons-material/Savings.js","../node_modules/@mui/icons-material/Settings.js","../node_modules/@mui/icons-material/SettingsSuggest.js","../node_modules/@mui/icons-material/ShowChart.js","../node_modules/@mui/icons-material/SmokeFree.js","../node_modules/@mui/icons-material/SportsBaseball.js","../node_modules/@mui/icons-material/SportsBasketball.js","../node_modules/@mui/icons-material/SportsFootball.js","../node_modules/@mui/icons-material/SportsHockey.js","../node_modules/@mui/icons-material/Toys.js","../node_modules/@mui/icons-material/Tv.js","../node_modules/@mui/icons-material/Visibility.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/Waves.js","../node_modules/@mui/icons-material/WbCloudy.js","../node_modules/@mui/icons-material/WbSunny.js","../node_modules/@mui/icons-material/Whatshot.js","../node_modules/@mui/material/Card/cardClasses.js","../node_modules/@mui/material/Card/Card.js","../node_modules/@mui/material/CardContent/cardContentClasses.js","../node_modules/@mui/material/CardContent/CardContent.js","../node_modules/@mui/system/esm/Container/createContainer.js","../node_modules/@mui/material/Container/Container.js","../node_modules/@mui/system/esm/Stack/createStack.js","../node_modules/@mui/material/Stack/Stack.js","../node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js","../node_modules/@mui/material/FormControlLabel/FormControlLabel.js","../node_modules/@mui/material/FormGroup/formGroupClasses.js","../node_modules/@mui/material/FormGroup/FormGroup.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@mui/material/LinearProgress/linearProgressClasses.js","../node_modules/@mui/material/LinearProgress/LinearProgress.js","../node_modules/@mui/material/utils/areArraysEqual.js","../node_modules/@mui/material/Slider/useSlider.js","../node_modules/@mui/material/utils/shouldSpreadAdditionalProps.js","../node_modules/@mui/material/Slider/sliderClasses.js","../node_modules/@mui/material/Slider/Slider.js","../node_modules/@mui/material/Slider/SliderValueLabel.js","../node_modules/@mui/material/TableContainer/tableContainerClasses.js","../node_modules/@mui/material/TableContainer/TableContainer.js","../node_modules/@mui/material/Tabs/ScrollbarSize.js","../node_modules/@mui/material/ToggleButtonGroup/isValueSelected.js","../node_modules/@mui/material/ToggleButton/ToggleButton.js","../node_modules/@mui/material/ToggleButton/toggleButtonClasses.js","../node_modules/@mui/material/ToggleButtonGroup/toggleButtonGroupClasses.js","../node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroup.js","../node_modules/@mui/utils/esm/getValidReactChildren/getValidReactChildren.js","../node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupButtonContext.js","../node_modules/@mui/material/ToggleButtonGroup/ToggleButtonGroupContext.js","../node_modules/@mui/material/styles/useThemeProps.js","../node_modules/@mui/system/esm/colorManipulator.js","../node_modules/@mui/system/esm/createStyled.js","../node_modules/@mui/system/esm/styled.js","../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../node_modules/@mui/utils/esm/refType/refType.js","../node_modules/@mui/utils/esm/visuallyHidden/visuallyHidden.js","../node_modules/date-fns/addMilliseconds.mjs","../node_modules/date-fns/addSeconds.mjs","../node_modules/date-fns/addMinutes.mjs","../node_modules/date-fns/addHours.mjs","../node_modules/date-fns/addWeeks.mjs","../node_modules/date-fns/addMonths.mjs","../node_modules/date-fns/addYears.mjs","../node_modules/date-fns/endOfWeek.mjs","../node_modules/date-fns/endOfYear.mjs","../node_modules/date-fns/getDate.mjs","../node_modules/date-fns/getDaysInMonth.mjs","../node_modules/date-fns/getHours.mjs","../node_modules/date-fns/getMinutes.mjs","../node_modules/date-fns/getMonth.mjs","../node_modules/date-fns/getSeconds.mjs","../node_modules/date-fns/getMilliseconds.mjs","../node_modules/date-fns/getYear.mjs","../node_modules/date-fns/isAfter.mjs","../node_modules/date-fns/isBefore.mjs","../node_modules/date-fns/isEqual.mjs","../node_modules/date-fns/isSameDay.mjs","../node_modules/date-fns/isSameYear.mjs","../node_modules/date-fns/isSameMonth.mjs","../node_modules/date-fns/startOfHour.mjs","../node_modules/date-fns/isSameHour.mjs","../node_modules/date-fns/setDate.mjs","../node_modules/date-fns/setHours.mjs","../node_modules/date-fns/setMinutes.mjs","../node_modules/date-fns/setMonth.mjs","../node_modules/date-fns/setSeconds.mjs","../node_modules/date-fns/setMilliseconds.mjs","../node_modules/date-fns/setYear.mjs","../node_modules/date-fns/startOfMonth.mjs","../node_modules/date-fns/isWithinInterval.mjs","../node_modules/@mui/x-date-pickers/AdapterDateFnsBase/AdapterDateFnsBase.js","../node_modules/@mui/x-date-pickers/AdapterDateFnsV3/AdapterDateFnsV3.js","../node_modules/@mui/x-date-pickers/DatePicker/datePickerToolbarClasses.js","../node_modules/@mui/x-date-pickers/DatePicker/DatePickerToolbar.js","../node_modules/@mui/x-date-pickers/DatePicker/shared.js","../node_modules/@mui/x-date-pickers/internals/utils/validation/validateDate.js","../node_modules/@mui/x-date-pickers/DateField/DateField.js","../node_modules/@mui/x-date-pickers/DateField/useDateField.js","../node_modules/@mui/x-date-pickers/DateCalendar/useIsDateDisabled.js","../node_modules/@mui/x-date-pickers/DateCalendar/useCalendarState.js","../node_modules/@mui/x-date-pickers/DateCalendar/pickersFadeTransitionGroupClasses.js","../node_modules/@mui/x-date-pickers/DateCalendar/PickersFadeTransitionGroup.js","../node_modules/@mui/x-date-pickers/PickersDay/pickersDayClasses.js","../node_modules/@mui/x-date-pickers/PickersDay/PickersDay.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/@mui/x-date-pickers/DateCalendar/pickersSlideTransitionClasses.js","../node_modules/@mui/x-date-pickers/DateCalendar/PickersSlideTransition.js","../node_modules/@mui/x-date-pickers/DateCalendar/dayCalendarClasses.js","../node_modules/@mui/x-date-pickers/DateCalendar/DayCalendar.js","../node_modules/@mui/x-date-pickers/MonthCalendar/pickersMonthClasses.js","../node_modules/@mui/x-date-pickers/MonthCalendar/PickersMonth.js","../node_modules/@mui/x-date-pickers/MonthCalendar/monthCalendarClasses.js","../node_modules/@mui/x-date-pickers/MonthCalendar/MonthCalendar.js","../node_modules/@mui/x-date-pickers/YearCalendar/pickersYearClasses.js","../node_modules/@mui/x-date-pickers/YearCalendar/PickersYear.js","../node_modules/@mui/x-date-pickers/YearCalendar/yearCalendarClasses.js","../node_modules/@mui/x-date-pickers/YearCalendar/YearCalendar.js","../node_modules/@mui/x-date-pickers/PickersCalendarHeader/pickersCalendarHeaderClasses.js","../node_modules/@mui/x-date-pickers/PickersCalendarHeader/PickersCalendarHeader.js","../node_modules/@mui/x-date-pickers/DateCalendar/dateCalendarClasses.js","../node_modules/@mui/x-date-pickers/DateCalendar/DateCalendar.js","../node_modules/@mui/x-date-pickers/dateViewRenderers/dateViewRenderers.js","../node_modules/@mui/x-date-pickers/DesktopDatePicker/DesktopDatePicker.js","../node_modules/@mui/x-date-pickers/MobileDatePicker/MobileDatePicker.js","../node_modules/@mui/x-date-pickers/DatePicker/DatePicker.js","../node_modules/@mui/x-date-pickers/LocalizationProvider/LocalizationProvider.js","../node_modules/@mui/x-date-pickers/PickersLayout/pickersLayoutClasses.js","../node_modules/@mui/x-date-pickers/PickersActionBar/PickersActionBar.js","../node_modules/@mui/x-date-pickers/PickersShortcuts/PickersShortcuts.js","../node_modules/@mui/x-date-pickers/PickersLayout/usePickerLayout.js","../node_modules/@mui/x-date-pickers/PickersLayout/PickersLayout.js","../node_modules/@mui/x-date-pickers/PickersTextField/pickersTextFieldClasses.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersInputBase/pickersInputBaseClasses.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersOutlinedInput/Outline.js","../node_modules/@mui/x-date-pickers/PickersSectionList/pickersSectionListClasses.js","../node_modules/@mui/x-date-pickers/PickersSectionList/PickersSectionList.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersInputBase/PickersInputBase.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersFilledInput/pickersFilledInputClasses.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersFilledInput/PickersFilledInput.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersInput/pickersInputClasses.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersInput/PickersInput.js","../node_modules/@mui/x-date-pickers/PickersTextField/PickersTextField.js","../node_modules/@mui/x-date-pickers/internals/utils/validation/validateTime.js","../node_modules/@mui/x-date-pickers/TimeField/TimeField.js","../node_modules/@mui/x-date-pickers/TimeField/useTimeField.js","../node_modules/@mui/x-date-pickers/internals/components/pickersToolbarTextClasses.js","../node_modules/@mui/x-date-pickers/internals/components/PickersToolbarText.js","../node_modules/@mui/x-date-pickers/internals/components/PickersToolbarButton.js","../node_modules/@mui/x-date-pickers/TimePicker/timePickerToolbarClasses.js","../node_modules/@mui/x-date-pickers/TimePicker/TimePickerToolbar.js","../node_modules/@mui/x-date-pickers/TimePicker/shared.js","../node_modules/@mui/x-date-pickers/TimeClock/timeClockClasses.js","../node_modules/@mui/x-date-pickers/TimeClock/shared.js","../node_modules/@mui/x-date-pickers/TimeClock/clockPointerClasses.js","../node_modules/@mui/x-date-pickers/TimeClock/ClockPointer.js","../node_modules/@mui/x-date-pickers/TimeClock/clockClasses.js","../node_modules/@mui/x-date-pickers/TimeClock/Clock.js","../node_modules/@mui/x-date-pickers/TimeClock/clockNumberClasses.js","../node_modules/@mui/x-date-pickers/TimeClock/ClockNumber.js","../node_modules/@mui/x-date-pickers/TimeClock/ClockNumbers.js","../node_modules/@mui/x-date-pickers/internals/hooks/useClockReferenceDate.js","../node_modules/@mui/x-date-pickers/TimeClock/TimeClock.js","../node_modules/@mui/x-date-pickers/DigitalClock/digitalClockClasses.js","../node_modules/@mui/x-date-pickers/DigitalClock/DigitalClock.js","../node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js","../node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js","../node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js","../node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js","../node_modules/@mui/x-date-pickers/MultiSectionDigitalClock/MultiSectionDigitalClock.js","../node_modules/@mui/x-date-pickers/timeViewRenderers/timeViewRenderers.js","../node_modules/@mui/x-date-pickers/internals/utils/date-time-utils.js","../node_modules/@mui/x-date-pickers/DesktopTimePicker/DesktopTimePicker.js","../node_modules/@mui/x-date-pickers/MobileTimePicker/MobileTimePicker.js","../node_modules/@mui/x-date-pickers/TimePicker/TimePicker.js","../node_modules/@mui/x-date-pickers/hooks/useClearableField.js","../node_modules/@mui/x-date-pickers/hooks/usePickersTranslations.js","../node_modules/@mui/x-date-pickers/icons/index.js","../node_modules/@mui/x-date-pickers/internals/components/PickerViewRoot/PickerViewRoot.js","../node_modules/@mui/x-date-pickers/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.js","../node_modules/@mui/x-date-pickers/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js","../node_modules/@mui/x-date-pickers/internals/components/PickersToolbar.js","../node_modules/@mui/x-date-pickers/internals/components/pickersToolbarClasses.js","../node_modules/@mui/x-date-pickers/internals/constants/dimensions.js","../node_modules/@mui/x-date-pickers/internals/hooks/date-helpers-hooks.js","../node_modules/@mui/x-date-pickers/internals/hooks/defaultizedFieldProps.js","../node_modules/@mui/x-date-pickers/internals/hooks/useDefaultReduceAnimations.js","../node_modules/@mui/x-date-pickers/internals/components/pickersPopperClasses.js","../node_modules/@mui/x-date-pickers/internals/components/PickersPopper.js","../node_modules/@mui/x-date-pickers/internals/hooks/useDesktopPicker/useDesktopPicker.js","../node_modules/@mui/x-date-pickers/internals/hooks/useField/buildSectionsFromFormat.js","../node_modules/@mui/x-date-pickers/internals/hooks/useField/useFieldState.js","../node_modules/@mui/x-date-pickers/internals/hooks/useField/useFieldCharacterEditing.js","../node_modules/@mui/x-date-pickers/internals/hooks/useField/useFieldV7TextField.js","../node_modules/@mui/x-date-pickers/internals/hooks/useField/useFieldV6TextField.js","../node_modules/@mui/x-date-pickers/internals/hooks/useField/useField.js","../node_modules/@mui/x-date-pickers/internals/hooks/useField/useField.utils.js","../node_modules/@mui/x-date-pickers/internals/components/PickersModalDialog.js","../node_modules/@mui/x-date-pickers/internals/hooks/useMobilePicker/useMobilePicker.js","../node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerValue.js","../node_modules/@mui/x-date-pickers/internals/hooks/useOpenState.js","../node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerViews.js","../node_modules/@mui/x-date-pickers/internals/hooks/useIsLandscape.js","../node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerLayoutProps.js","../node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePicker.js","../node_modules/@mui/x-date-pickers/locales/utils/getPickersLocalization.js","../node_modules/@mui/x-date-pickers/locales/enUS.js","../node_modules/@mui/x-date-pickers/internals/hooks/useUtils.js","../node_modules/@mui/x-date-pickers/internals/hooks/useValidation.js","../node_modules/@mui/x-date-pickers/internals/hooks/useValueWithTimezone.js","../node_modules/@mui/x-date-pickers/internals/hooks/useViews.js","../node_modules/@mui/x-date-pickers/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js","../node_modules/@mui/x-date-pickers/internals/utils/date-utils.js","../node_modules/@mui/x-date-pickers/internals/utils/fields.js","../node_modules/@mui/x-date-pickers/internals/utils/getDefaultReferenceDate.js","../node_modules/@mui/x-date-pickers/internals/utils/time-utils.js","../node_modules/@mui/x-date-pickers/internals/utils/utils.js","../node_modules/@mui/x-date-pickers/internals/utils/validation/extractValidationProps.js","../node_modules/@mui/x-date-pickers/internals/utils/valueManagers.js","../node_modules/@mui/x-date-pickers/internals/utils/views.js","../node_modules/aos/dist/aos.js","../node_modules/browser-detect/src/definitions.ts","../node_modules/browser-detect/src/regexp.ts","../node_modules/browser-detect/src/detector.ts","../node_modules/browser-detect/node_modules/core-js/modules/_global.js","../node_modules/browser-detect/node_modules/core-js/modules/_core.js","../node_modules/browser-detect/node_modules/core-js/modules/_is-object.js","../node_modules/browser-detect/node_modules/core-js/modules/_an-object.js","../node_modules/browser-detect/node_modules/core-js/modules/_fails.js","../node_modules/browser-detect/node_modules/core-js/modules/_descriptors.js","../node_modules/browser-detect/node_modules/core-js/modules/_dom-create.js","../node_modules/browser-detect/node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/browser-detect/node_modules/core-js/modules/_object-dp.js","../node_modules/browser-detect/node_modules/core-js/modules/_to-primitive.js","../node_modules/browser-detect/node_modules/core-js/modules/_hide.js","../node_modules/browser-detect/node_modules/core-js/modules/_property-desc.js","../node_modules/browser-detect/node_modules/core-js/modules/_has.js","../node_modules/browser-detect/node_modules/core-js/modules/_uid.js","../node_modules/browser-detect/node_modules/core-js/modules/_redefine.js","../node_modules/browser-detect/node_modules/core-js/modules/_ctx.js","../node_modules/browser-detect/node_modules/core-js/modules/_a-function.js","../node_modules/browser-detect/node_modules/core-js/modules/_export.js","../node_modules/browser-detect/node_modules/core-js/modules/_cof.js","../node_modules/browser-detect/node_modules/core-js/modules/_iobject.js","../node_modules/browser-detect/node_modules/core-js/modules/_defined.js","../node_modules/browser-detect/node_modules/core-js/modules/_to-integer.js","../node_modules/browser-detect/node_modules/core-js/modules/_to-length.js","../node_modules/browser-detect/node_modules/core-js/modules/_is-array.js","../node_modules/browser-detect/node_modules/core-js/modules/_shared.js","../node_modules/browser-detect/node_modules/core-js/modules/_array-species-constructor.js","../node_modules/browser-detect/node_modules/core-js/modules/_wks.js","../node_modules/browser-detect/node_modules/core-js/modules/_array-species-create.js","../node_modules/browser-detect/node_modules/core-js/modules/_array-methods.js","../node_modules/browser-detect/node_modules/core-js/modules/_to-object.js","../node_modules/browser-detect/node_modules/core-js/modules/_strict-method.js","../node_modules/browser-detect/node_modules/core-js/modules/es6.array.filter.js","../node_modules/browser-detect/node_modules/core-js/fn/array/filter.js","../node_modules/browser-detect/node_modules/core-js/modules/es6.array.map.js","../node_modules/browser-detect/node_modules/core-js/fn/array/map.js","../node_modules/browser-detect/node_modules/core-js/modules/_string-ws.js","../node_modules/browser-detect/node_modules/core-js/modules/_string-trim.js","../node_modules/browser-detect/node_modules/core-js/modules/es6.string.trim.js","../node_modules/browser-detect/node_modules/core-js/fn/string/trim.js","../node_modules/browser-detect/src/browser-detect.ts","../node_modules/merge-class-names/dist/esm/index.js","../node_modules/moment-timezone/index.js","../node_modules/moment-timezone/moment-timezone.js","../node_modules/moment/moment.js","../node_modules/react-chartjs-2/src/utils.ts","../node_modules/react-chartjs-2/src/chart.tsx","../node_modules/react-chartjs-2/src/typedCharts.tsx","../node_modules/react-clock/dist/Clock.js","../node_modules/react-clock/dist/Hand.js","../node_modules/react-clock/dist/Mark.js","../node_modules/react-clock/dist/entry.js","../node_modules/react-clock/dist/shared/dates.js","../node_modules/react-clock/dist/shared/propTypes.js","../node_modules/react-clock/dist/shared/utils.js","../../../../../../webpack/universalModuleDefinition","../../../../../../webpack/bootstrap 6feda731dd4ebaacd003","../../../../../../node_modules/fbjs/lib/invariant.js","../../../../../../node_modules/fbjs/lib/emptyFunction.js","../../../../../../node_modules/object-assign/index.js","../../../../../../node_modules/fbjs/lib/warning.js","../../../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../../../node_modules/fbjs/lib/emptyObject.js","../../../../../../node_modules/prop-types/checkPropTypes.js","../../../../../../lib/react-loading.jsx","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/cjs/react.production.min.js","../../../../../../node_modules/prop-types/index.js","../../../../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../../../lib/svg/index.js","../../../../../../lib/svg/blank.svg","../../../../../../lib/svg/loading-balls.svg","../../../../../../lib/svg/loading-bars.svg","../../../../../../lib/svg/loading-bubbles.svg","../../../../../../lib/svg/loading-cubes.svg","../../../../../../lib/svg/loading-cylon.svg","../../../../../../lib/svg/loading-spin.svg","../../../../../../lib/svg/loading-spinning-bubbles.svg","../../../../../../lib/svg/loading-spokes.svg","../node_modules/weather-icons-react/index.js","../node_modules/weather-icons-react/lib/iconBase.js","../node_modules/weather-icons-react/lib/iconContext.js","webpack://mancave-displays/./node_modules/react-clock/dist/Clock.css?b0de","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/chart.js/dist/chunks/helpers.segment.mjs","../node_modules/chart.js/dist/chart.mjs","../node_modules/date-fns/addDays.mjs","../node_modules/date-fns/constructNow.mjs","../node_modules/date-fns/formatDistanceToNow.mjs","../node_modules/date-fns/getDefaultOptions.mjs","../node_modules/date-fns/transpose.mjs","../node_modules/date-fns/parse/_lib/Setter.mjs","../node_modules/date-fns/parse/_lib/Parser.mjs","../node_modules/date-fns/parse/_lib/constants.mjs","../node_modules/date-fns/parse/_lib/utils.mjs","../node_modules/date-fns/setWeek.mjs","../node_modules/date-fns/setISOWeek.mjs","../node_modules/date-fns/parse/_lib/parsers/DateParser.mjs","../node_modules/date-fns/setDay.mjs","../node_modules/date-fns/getISODay.mjs","../node_modules/date-fns/setISODay.mjs","../node_modules/date-fns/parse/_lib/parsers.mjs","../node_modules/date-fns/parse/_lib/parsers/EraParser.mjs","../node_modules/date-fns/parse/_lib/parsers/YearParser.mjs","../node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.mjs","../node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.mjs","../node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.mjs","../node_modules/date-fns/parse/_lib/parsers/QuarterParser.mjs","../node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.mjs","../node_modules/date-fns/parse/_lib/parsers/MonthParser.mjs","../node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.mjs","../node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.mjs","../node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.mjs","../node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.mjs","../node_modules/date-fns/parse/_lib/parsers/DayParser.mjs","../node_modules/date-fns/parse/_lib/parsers/LocalDayParser.mjs","../node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.mjs","../node_modules/date-fns/parse/_lib/parsers/ISODayParser.mjs","../node_modules/date-fns/parse/_lib/parsers/AMPMParser.mjs","../node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.mjs","../node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.mjs","../node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.mjs","../node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.mjs","../node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.mjs","../node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.mjs","../node_modules/date-fns/parse/_lib/parsers/MinuteParser.mjs","../node_modules/date-fns/parse/_lib/parsers/SecondParser.mjs","../node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.mjs","../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.mjs","../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.mjs","../node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.mjs","../node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.mjs","../node_modules/date-fns/parse.mjs","../node_modules/js-cookie/dist/js.cookie.mjs","../node_modules/react-image-gallery/build/image-gallery.es.js"],"sourcesContent":["\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M22 11h-4.17l3.24-3.24-1.41-1.42L15 11h-2V9l4.66-4.66-1.42-1.41L13 6.17V2h-2v4.17L7.76 2.93 6.34 4.34 11 9v2H9L4.34 6.34 2.93 7.76 6.17 11H2v2h4.17l-3.24 3.24 1.41 1.42L9 13h2v2l-4.66 4.66 1.42 1.41L11 17.83V22h2v-4.17l3.24 3.24 1.42-1.41L13 15v-2h2l4.66 4.66 1.41-1.42L17.83 13H22z\"\n}), 'AcUnit');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.5 17c0 1.65-1.35 3-3 3s-3-1.35-3-3h2c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1H2v-2h9.5c1.65 0 3 1.35 3 3M19 6.5C19 4.57 17.43 3 15.5 3S12 4.57 12 6.5h2c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S16.33 8 15.5 8H2v2h13.5c1.93 0 3.5-1.57 3.5-3.5m-.5 4.5H2v2h16.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5v2c1.93 0 3.5-1.57 3.5-3.5S20.43 11 18.5 11\"\n}), 'Air');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z\"\n}), 'ArrowBack');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m14 7-5 5 5 5z\"\n}), 'ArrowLeft');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6 13c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m0 4c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m0-8c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m-3 .5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5M6 5c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m15 5.5c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5M14 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1m0-3.5c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5m-11 10c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5m7 7c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5m0-17c.28 0 .5-.22.5-.5s-.22-.5-.5-.5-.5.22-.5.5.22.5.5.5M10 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1m0 5.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5m8 .5c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m0 4c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m0-8c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m0-4c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m3 8.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5M14 17c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m0 3.5c-.28 0-.5.22-.5.5s.22.5.5.5.5-.22.5-.5-.22-.5-.5-.5m-4-12c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5m0 8.5c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m4-4.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5m0-4c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5\"\n}), 'BlurOn');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M6 4h5v8l-2.5-1.5L6 12z\"\n}), 'Book');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\n}), 'Check');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96\"\n}), 'Cloud');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6m0-2C9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96C18.67 6.59 15.64 4 12 4\"\n}), 'CloudOutlined');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3\"\n}), 'CloudQueue');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 18c1.1 0 1.99-.9 1.99-2L22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H0v2h24v-2zM4 6h16v10H4z\"\n}), 'Computer');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14zM15.5 4l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'DeleteForever');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z\"\n}), 'FilterList');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M7 2v11h3v9l7-12h-4l4-8z\"\n}), 'FlashOn');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 12c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2M6 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12-8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m-4 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m4-4c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-4-4c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-4-4c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\n}), 'Grain');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\n}), 'Home');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n fillRule: \"evenodd\",\n d: \"m9 17 3-2.94c-.39-.04-.68-.06-1-.06-2.67 0-8 1.34-8 4v2h9zm2-5c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m4.47 8.5L12 17l1.4-1.41 2.07 2.08 5.13-5.17 1.4 1.41z\"\n}), 'HowToReg');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 4-8 5-8-5V6l8 5 8-5z\"\n}), 'Mail');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m22 3-1.67 1.67L18.67 3 17 4.67 15.33 3l-1.66 1.67L12 3l-1.67 1.67L8.67 3 7 4.67 5.33 3 3.67 4.67 2 3v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2zM11 19H4v-6h7zm9 0h-7v-2h7zm0-4h-7v-2h7zm0-4H4V8h16z\"\n}), 'Newspaper');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m5 9 1.41 1.41L11 5.83V22h2V5.83l4.59 4.59L19 9l-7-7z\"\n}), 'North');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17.66 8 12 2.35 6.34 8C4.78 9.56 4 11.64 4 13.64s.78 4.11 2.34 5.67 3.61 2.35 5.66 2.35 4.1-.79 5.66-2.35S20 15.64 20 13.64 19.22 9.56 17.66 8M6 14c.01-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 17.99 12 18 14z\"\n}), 'Opacity');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02z\"\n}), 'Phone');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m19.83 7.5-2.27-2.27c.07-.42.18-.81.32-1.15.08-.18.12-.37.12-.58 0-.83-.67-1.5-1.5-1.5-1.64 0-3.09.79-4 2h-5C4.46 4 2 6.46 2 9.5S4.5 21 4.5 21H10v-2h2v2h5.5l1.68-5.59 2.82-.94V7.5zM13 9H8V7h5zm3 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1\"\n}), 'Savings');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6\"\n}), 'Settings');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17.41 6.59 15 5.5l2.41-1.09L18.5 2l1.09 2.41L22 5.5l-2.41 1.09L18.5 9zm3.87 6.13L20.5 11l-.78 1.72-1.72.78 1.72.78.78 1.72.78-1.72L23 13.5zm-5.04 1.65 1.94 1.47-2.5 4.33-2.24-.94c-.2.13-.42.26-.64.37l-.3 2.4h-5l-.3-2.41c-.22-.11-.43-.23-.64-.37l-2.24.94-2.5-4.33 1.94-1.47c-.01-.11-.01-.24-.01-.36s0-.25.01-.37l-1.94-1.47 2.5-4.33 2.24.94c.2-.13.42-.26.64-.37L7.5 6h5l.3 2.41c.22.11.43.23.64.37l2.24-.94 2.5 4.33-1.94 1.47c.01.12.01.24.01.37s0 .24-.01.36M13 14c0-1.66-1.34-3-3-3s-3 1.34-3 3 1.34 3 3 3 3-1.34 3-3\"\n}), 'SettingsSuggest');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z\"\n}), 'ShowChart');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m2 6 6.99 7H2v3h9.99l7 7 1.26-1.25-17-17zm18.5 7H22v3h-1.5zM18 13h1.5v3H18zm.85-8.12c.62-.61 1-1.45 1-2.38h-1.5c0 1.02-.83 1.85-1.85 1.85v1.5c2.24 0 4 1.83 4 4.07V12H22V9.92c0-2.23-1.28-4.15-3.15-5.04M14.5 8.7h1.53c1.05 0 1.97.74 1.97 2.05V12h1.5v-1.59c0-1.8-1.6-3.16-3.47-3.16H14.5c-1.02 0-1.85-.98-1.85-2s.83-1.75 1.85-1.75V2c-1.85 0-3.35 1.5-3.35 3.35s1.5 3.35 3.35 3.35m2.5 7.23V13h-2.93z\"\n}), 'SmokeFree');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3.81 6.28C2.67 7.9 2 9.87 2 12s.67 4.1 1.81 5.72C6.23 16.95 8 14.68 8 12S6.23 7.05 3.81 6.28m16.38 0C17.77 7.05 16 9.32 16 12s1.77 4.95 4.19 5.72C21.33 16.1 22 14.13 22 12s-.67-4.1-1.81-5.72\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14 12c0-3.28 1.97-6.09 4.79-7.33C17.01 3.02 14.63 2 12 2S6.99 3.02 5.21 4.67C8.03 5.91 10 8.72 10 12s-1.97 6.09-4.79 7.33C6.99 20.98 9.37 22 12 22s5.01-1.02 6.79-2.67C15.97 18.09 14 15.28 14 12\"\n}, \"1\")], 'SportsBaseball');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17.09 11h4.86c-.16-1.61-.71-3.11-1.54-4.4-1.73.83-2.99 2.45-3.32 4.4M6.91 11c-.33-1.95-1.59-3.57-3.32-4.4-.83 1.29-1.38 2.79-1.54 4.4zm8.16 0c.32-2.59 1.88-4.79 4.06-6-1.6-1.63-3.74-2.71-6.13-2.95V11zm-6.14 0H11V2.05C8.61 2.29 6.46 3.37 4.87 5c2.18 1.21 3.74 3.41 4.06 6m6.14 2H13v8.95c2.39-.24 4.54-1.32 6.13-2.95-2.18-1.21-3.74-3.41-4.06-6M3.59 17.4c1.72-.83 2.99-2.46 3.32-4.4H2.05c.16 1.61.71 3.11 1.54 4.4m13.5-4.4c.33 1.95 1.59 3.57 3.32 4.4.83-1.29 1.38-2.79 1.54-4.4zm-8.16 0c-.32 2.59-1.88 4.79-4.06 6 1.6 1.63 3.74 2.71 6.13 2.95V13z\"\n}), 'SportsBasketball');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3.02 15.62c-.08 2.42.32 4.34.67 4.69s2.28.76 4.69.67zM13.08 3.28c-2.33.42-4.79 1.34-6.62 3.18s-2.76 4.29-3.18 6.62l7.63 7.63c2.34-.41 4.79-1.34 6.62-3.18s2.76-4.29 3.18-6.62zM9.9 15.5l-1.4-1.4 5.6-5.6 1.4 1.4zm11.08-7.12c.08-2.42-.32-4.34-.67-4.69s-2.28-.76-4.69-.67z\"\n}), 'SportsFootball');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M2 17v3h2v-4H3c-.55 0-1 .45-1 1m7-1H5v4l4.69-.01c.38 0 .72-.21.89-.55l.87-1.9-1.59-3.48zm12.71.29c-.18-.18-.43-.29-.71-.29h-1v4h2v-3c0-.28-.11-.53-.29-.71m-8.11-3.45L17.65 4H14.3l-1.76 3.97-.49 1.1-.05.14L9.7 4H6.35l4.05 8.84 1.52 3.32.08.18 1.42 3.1c.17.34.51.55.89.55L19 20v-4h-4z\"\n}), 'SportsHockey');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M22 14c0-1.95-1.4-3.57-3.25-3.92L17.4 6.05C17 4.82 15.85 4 14.56 4H9.44C8.15 4 7 4.82 6.6 6.05L5.81 8.4 4.41 7l.29-.29c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0l-2 2c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l.3-.3 1.79 1.79C3.18 10.72 2 12.22 2 14c0 1.5.83 2.79 2.05 3.48C4.28 18.9 5.51 20 7 20c1.3 0 2.4-.84 2.82-2h4.37c.41 1.16 1.51 2 2.82 2 1.49 0 2.72-1.1 2.95-2.52C21.17 16.79 22 15.5 22 14M7 18c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1m4-8H7.41l-.02-.02 1.1-3.3c.14-.41.52-.68.95-.68H11zm2-4h1.56c.43 0 .81.27.95.68l1.1 3.32H13zm4 12c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1\"\n}), 'Toys');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5c0-1.1-.9-2-2-2m0 14H3V5h18z\"\n}), 'Tv');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3\"\n}), 'Visibility');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7M2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2m4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3z\"\n}), 'VisibilityOff');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 16.99c-1.35 0-2.2.42-2.95.8-.65.33-1.18.6-2.05.6-.9 0-1.4-.25-2.05-.6-.75-.38-1.57-.8-2.95-.8s-2.2.42-2.95.8c-.65.33-1.17.6-2.05.6v1.95c1.35 0 2.2-.42 2.95-.8.65-.33 1.17-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.57.8 2.95.8s2.2-.42 2.95-.8c.65-.33 1.18-.6 2.05-.6.9 0 1.4.25 2.05.6.75.38 1.58.8 2.95.8v-1.95c-.9 0-1.4-.25-2.05-.6-.75-.38-1.6-.8-2.95-.8m0-4.45c-1.35 0-2.2.43-2.95.8-.65.32-1.18.6-2.05.6-.9 0-1.4-.25-2.05-.6-.75-.38-1.57-.8-2.95-.8s-2.2.43-2.95.8c-.65.32-1.17.6-2.05.6v1.95c1.35 0 2.2-.43 2.95-.8.65-.35 1.15-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.57.8 2.95.8s2.2-.43 2.95-.8c.65-.35 1.15-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.58.8 2.95.8v-1.95c-.9 0-1.4-.25-2.05-.6-.75-.38-1.6-.8-2.95-.8m2.95-8.08c-.75-.38-1.58-.8-2.95-.8s-2.2.42-2.95.8c-.65.32-1.18.6-2.05.6-.9 0-1.4-.25-2.05-.6-.75-.37-1.57-.8-2.95-.8s-2.2.42-2.95.8c-.65.33-1.17.6-2.05.6v1.93c1.35 0 2.2-.43 2.95-.8.65-.33 1.17-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.57.8 2.95.8s2.2-.43 2.95-.8c.65-.32 1.18-.6 2.05-.6.9 0 1.4.25 2.05.6.75.38 1.58.8 2.95.8V5.04c-.9 0-1.4-.25-2.05-.58M17 8.09c-1.35 0-2.2.43-2.95.8-.65.35-1.15.6-2.05.6s-1.4-.25-2.05-.6c-.75-.38-1.57-.8-2.95-.8s-2.2.43-2.95.8c-.65.35-1.15.6-2.05.6v1.95c1.35 0 2.2-.43 2.95-.8.65-.32 1.18-.6 2.05-.6s1.4.25 2.05.6c.75.38 1.57.8 2.95.8s2.2-.43 2.95-.8c.65-.32 1.18-.6 2.05-.6.9 0 1.4.25 2.05.6.75.38 1.58.8 2.95.8V9.49c-.9 0-1.4-.25-2.05-.6-.75-.38-1.6-.8-2.95-.8\"\n}), 'Waves');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.36 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.64-4.96\"\n}), 'WbCloudy');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m6.76 4.84-1.8-1.79-1.41 1.41 1.79 1.79zM4 10.5H1v2h3zm9-9.95h-2V3.5h2zm7.45 3.91-1.41-1.41-1.79 1.79 1.41 1.41zm-3.21 13.7 1.79 1.8 1.41-1.41-1.8-1.79zM20 10.5v2h3v-2zm-8-5c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6m-1 16.95h2V19.5h-2zm-7.45-3.91 1.41 1.41 1.79-1.8-1.41-1.41z\"\n}), 'WbSunny');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 17.41 3.8 13.5.67M11.71 19c-1.78 0-3.22-1.4-3.22-3.14 0-1.62 1.05-2.76 2.81-3.12 1.77-.36 3.6-1.21 4.62-2.58.39 1.29.59 2.65.59 4.04 0 2.65-2.15 4.8-4.8 4.8\"\n}), 'Whatshot');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardUtilityClass(slot) {\n return generateUtilityClass('MuiCard', slot);\n}\nconst cardClasses = generateUtilityClasses('MuiCard', ['root']);\nexport default cardClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"raised\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Paper from '../Paper';\nimport { getCardUtilityClass } from './cardClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardUtilityClass, classes);\n};\nconst CardRoot = styled(Paper, {\n name: 'MuiCard',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n overflow: 'hidden'\n };\n});\nconst Card = /*#__PURE__*/React.forwardRef(function Card(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCard'\n });\n const {\n className,\n raised = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n raised\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardRoot, _extends({\n className: clsx(classes.root, className),\n elevation: raised ? 8 : undefined,\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the card will use raised styling.\n * @default false\n */\n raised: chainPropTypes(PropTypes.bool, props => {\n if (props.raised && props.variant === 'outlined') {\n return new Error('MUI: Combining `raised={true}` with `variant=\"outlined\"` has no effect.');\n }\n return null;\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Card;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardContentUtilityClass(slot) {\n return generateUtilityClass('MuiCardContent', slot);\n}\nconst cardContentClasses = generateUtilityClasses('MuiCardContent', ['root']);\nexport default cardContentClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getCardContentUtilityClass } from './cardContentClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardContentUtilityClass, classes);\n};\nconst CardContentRoot = styled('div', {\n name: 'MuiCardContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n };\n});\nconst CardContent = /*#__PURE__*/React.forwardRef(function CardContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardContent'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardContentRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardContent;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"fixed\", \"maxWidth\", \"classes\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '@mui/utils/capitalize';\nimport useThemePropsSystem from '../useThemeProps';\nimport systemStyled from '../styled';\nimport createTheme from '../createTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n});\nconst useThemePropsDefault = inProps => useThemePropsSystem({\n props: inProps,\n name: 'MuiContainer',\n defaultTheme\n});\nconst useUtilityClasses = (ownerState, componentName) => {\n const getContainerUtilityClass = slot => {\n return generateUtilityClass(componentName, slot);\n };\n const {\n classes,\n fixed,\n disableGutters,\n maxWidth\n } = ownerState;\n const slots = {\n root: ['root', maxWidth && `maxWidth${capitalize(String(maxWidth))}`, fixed && 'fixed', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getContainerUtilityClass, classes);\n};\nexport default function createContainer(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiContainer'\n } = options;\n const ContainerRoot = createStyledComponent(({\n theme,\n ownerState\n }) => _extends({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n display: 'block'\n }, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n }), ({\n theme,\n ownerState\n }) => ownerState.fixed && Object.keys(theme.breakpoints.values).reduce((acc, breakpointValueKey) => {\n const breakpoint = breakpointValueKey;\n const value = theme.breakpoints.values[breakpoint];\n if (value !== 0) {\n // @ts-ignore\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: `${value}${theme.breakpoints.unit}`\n };\n }\n return acc;\n }, {}), ({\n theme,\n ownerState\n }) => _extends({}, ownerState.maxWidth === 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('xs')]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }\n }, ownerState.maxWidth &&\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ownerState.maxWidth !== 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up(ownerState.maxWidth)]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`\n }\n }));\n const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {\n const props = useThemeProps(inProps);\n const {\n className,\n component = 'div',\n disableGutters = false,\n fixed = false,\n maxWidth = 'lg'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n fixed,\n maxWidth\n });\n\n // @ts-ignore module augmentation fails if custom breakpoints are used\n const classes = useUtilityClasses(ownerState, componentName);\n return (\n /*#__PURE__*/\n // @ts-ignore theme is injected by the styled util\n _jsx(ContainerRoot, _extends({\n as: component\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other))\n );\n });\n process.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n classes: PropTypes.object,\n className: PropTypes.string,\n component: PropTypes.elementType,\n disableGutters: PropTypes.bool,\n fixed: PropTypes.bool,\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Container;\n}","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createContainer } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nconst Container = createContainer({\n createStyledComponent: styled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n }),\n useThemeProps: inProps => useDefaultProps({\n props: inProps,\n name: 'MuiContainer'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n * @default false\n */\n fixed: PropTypes.bool,\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'lg'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Container;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\", \"className\", \"useFlexGap\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport systemStyled from '../styled';\nimport useThemePropsSystem from '../useThemeProps';\nimport { extendSxProp } from '../styleFunctionSx';\nimport createTheme from '../createTheme';\nimport { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues } from '../breakpoints';\nimport { createUnarySpacing, getValue } from '../spacing';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiStack',\n defaultTheme\n });\n}\n\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n return output;\n }, []);\n}\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex',\n flexDirection: 'column'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n if (typeof directionValues === 'object') {\n Object.keys(directionValues).forEach((breakpoint, index, breakpoints) => {\n const directionValue = directionValues[breakpoint];\n if (!directionValue) {\n const previousDirectionValue = index > 0 ? directionValues[breakpoints[index - 1]] : 'column';\n directionValues[breakpoint] = previousDirectionValue;\n }\n });\n }\n const styleFromPropValue = (propValue, breakpoint) => {\n if (ownerState.useFlexGap) {\n return {\n gap: getValue(transformer, propValue)\n };\n }\n return {\n // The useFlexGap={false} implement relies on each child to give up control of the margin.\n // We need to reset the margin to avoid double spacing.\n '& > :not(style):not(style)': {\n margin: 0\n },\n '& > :not(style) ~ :not(style)': {\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n styles = mergeBreakpointsInOrder(theme.breakpoints, styles);\n return styles;\n};\nexport default function createStack(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiStack'\n } = options;\n const useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n const StackRoot = createStyledComponent(style);\n const Stack = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children,\n className,\n useFlexGap = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = {\n direction,\n spacing,\n useFlexGap\n };\n const classes = useUtilityClasses();\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n });\n process.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n divider: PropTypes.node,\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Stack;\n}","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createStack } from '@mui/system';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nconst Stack = createStack({\n createStyledComponent: styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n }),\n useThemeProps: inProps => useDefaultProps({\n props: inProps,\n name: 'MuiStack'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControlLabel', slot);\n}\nconst formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);\nexport default formControlLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checked\", \"className\", \"componentsProps\", \"control\", \"disabled\", \"disableTypography\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"required\", \"slotProps\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useFormControl } from '../FormControl';\nimport Stack from '../Stack';\nimport Typography from '../Typography';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport formControlLabelClasses, { getFormControlLabelUtilityClasses } from './formControlLabelClasses';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n labelPlacement,\n error,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error', required && 'required'],\n label: ['label', disabled && 'disabled'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormControlLabelUtilityClasses, classes);\n};\nexport const FormControlLabelRoot = styled('label', {\n name: 'MuiFormControlLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formControlLabelClasses.label}`]: styles.label\n }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n [`&.${formControlLabelClasses.disabled}`]: {\n cursor: 'default'\n }\n}, ownerState.labelPlacement === 'start' && {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n}, ownerState.labelPlacement === 'top' && {\n flexDirection: 'column-reverse',\n marginLeft: 16\n}, ownerState.labelPlacement === 'bottom' && {\n flexDirection: 'column',\n marginLeft: 16\n}, {\n [`& .${formControlLabelClasses.label}`]: {\n [`&.${formControlLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormControlLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formControlLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\n\n/**\n * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\nconst FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(inProps, ref) {\n var _ref, _slotProps$typography;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormControlLabel'\n });\n const {\n className,\n componentsProps = {},\n control,\n disabled: disabledProp,\n disableTypography,\n label: labelProp,\n labelPlacement = 'end',\n required: requiredProp,\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const disabled = (_ref = disabledProp != null ? disabledProp : control.props.disabled) != null ? _ref : muiFormControl == null ? void 0 : muiFormControl.disabled;\n const required = requiredProp != null ? requiredProp : control.props.required;\n const controlProps = {\n disabled,\n required\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n disabled,\n labelPlacement,\n required,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n const typographySlotProps = (_slotProps$typography = slotProps.typography) != null ? _slotProps$typography : componentsProps.typography;\n let label = labelProp;\n if (label != null && label.type !== Typography && !disableTypography) {\n label = /*#__PURE__*/_jsx(Typography, _extends({\n component: \"span\"\n }, typographySlotProps, {\n className: clsx(classes.label, typographySlotProps == null ? void 0 : typographySlotProps.className),\n children: label\n }));\n }\n return /*#__PURE__*/_jsxs(FormControlLabelRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs(Stack, {\n display: \"block\",\n children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }) : label]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControlLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component appears selected.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: PropTypes.element.isRequired,\n /**\n * If `true`, the control is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is rendered as it is passed without an additional typography node.\n */\n disableTypography: PropTypes.bool,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * A text or an element to be used in an enclosing label element.\n */\n label: PropTypes.node,\n /**\n * The position of the label.\n * @default 'end'\n */\n labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * @ignore\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default FormControlLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormGroupUtilityClass(slot) {\n return generateUtilityClass('MuiFormGroup', slot);\n}\nconst formGroupClasses = generateUtilityClasses('MuiFormGroup', ['root', 'row', 'error']);\nexport default formGroupClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"row\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getFormGroupUtilityClass } from './formGroupClasses';\nimport useFormControl from '../FormControl/useFormControl';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n row,\n error\n } = ownerState;\n const slots = {\n root: ['root', row && 'row', error && 'error']\n };\n return composeClasses(slots, getFormGroupUtilityClass, classes);\n};\nconst FormGroupRoot = styled('div', {\n name: 'MuiFormGroup',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.row && styles.row];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap'\n}, ownerState.row && {\n flexDirection: 'row'\n}));\n\n/**\n * `FormGroup` wraps controls such as `Checkbox` and `Switch`.\n * It provides compact row layout.\n * For the `Radio`, you should be using the `RadioGroup` component instead of this one.\n */\nconst FormGroup = /*#__PURE__*/React.forwardRef(function FormGroup(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormGroup'\n });\n const {\n className,\n row = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n row,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormGroupRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display group of elements in a compact row.\n * @default false\n */\n row: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormGroup;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: (theme.vars || theme).palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ? ( /* notranslate needed while Google Translate will not fix zero-width space issue */_span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n }))) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getLinearProgressUtilityClass(slot) {\n return generateUtilityClass('MuiLinearProgress', slot);\n}\nconst linearProgressClasses = generateUtilityClasses('MuiLinearProgress', ['root', 'colorPrimary', 'colorSecondary', 'determinate', 'indeterminate', 'buffer', 'query', 'dashed', 'dashedColorPrimary', 'dashedColorSecondary', 'bar', 'barColorPrimary', 'barColorSecondary', 'bar1Indeterminate', 'bar1Determinate', 'bar1Buffer', 'bar2Indeterminate', 'bar2Buffer']);\nexport default linearProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"value\", \"valueBuffer\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4,\n _t5,\n _t6;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css } from '@mui/system';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getLinearProgressUtilityClass } from './linearProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TRANSITION_DURATION = 4; // seconds\nconst indeterminate1Keyframe = keyframes(_t || (_t = _`\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n`));\nconst indeterminate2Keyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n`));\nconst bufferKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, variant],\n dashed: ['dashed', `dashedColor${capitalize(color)}`],\n bar1: ['bar', `barColor${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar1Indeterminate', variant === 'determinate' && 'bar1Determinate', variant === 'buffer' && 'bar1Buffer'],\n bar2: ['bar', variant !== 'buffer' && `barColor${capitalize(color)}`, variant === 'buffer' && `color${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar2Indeterminate', variant === 'buffer' && 'bar2Buffer']\n };\n return composeClasses(slots, getLinearProgressUtilityClass, classes);\n};\nconst getColorShade = (theme, color) => {\n if (color === 'inherit') {\n return 'currentColor';\n }\n if (theme.vars) {\n return theme.vars.palette.LinearProgress[`${color}Bg`];\n }\n return theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.5);\n};\nconst LinearProgressRoot = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], styles[ownerState.variant]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'relative',\n overflow: 'hidden',\n display: 'block',\n height: 4,\n zIndex: 0,\n // Fix Safari's bug during composition of different paint.\n '@media print': {\n colorAdjust: 'exact'\n },\n backgroundColor: getColorShade(theme, ownerState.color)\n}, ownerState.color === 'inherit' && ownerState.variant !== 'buffer' && {\n backgroundColor: 'none',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'currentColor',\n opacity: 0.3\n }\n}, ownerState.variant === 'buffer' && {\n backgroundColor: 'transparent'\n}, ownerState.variant === 'query' && {\n transform: 'rotate(180deg)'\n}));\nconst LinearProgressDashed = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Dashed',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.dashed, styles[`dashedColor${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => {\n const backgroundColor = getColorShade(theme, ownerState.color);\n return _extends({\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%'\n }, ownerState.color === 'inherit' && {\n opacity: 0.3\n }, {\n backgroundImage: `radial-gradient(${backgroundColor} 0%, ${backgroundColor} 16%, transparent 42%)`,\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px'\n });\n}, css(_t4 || (_t4 = _`\n animation: ${0} 3s infinite linear;\n `), bufferKeyframe));\nconst LinearProgressBar1 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar1',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar1Indeterminate, ownerState.variant === 'determinate' && styles.bar1Determinate, ownerState.variant === 'buffer' && styles.bar1Buffer];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left',\n backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main\n}, ownerState.variant === 'determinate' && {\n transition: `transform .${TRANSITION_DURATION}s linear`\n}, ownerState.variant === 'buffer' && {\n zIndex: 1,\n transition: `transform .${TRANSITION_DURATION}s linear`\n}), ({\n ownerState\n}) => (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && css(_t5 || (_t5 = _`\n width: auto;\n animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n `), indeterminate1Keyframe));\nconst LinearProgressBar2 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar2',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar2Indeterminate, ownerState.variant === 'buffer' && styles.bar2Buffer];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left'\n}, ownerState.variant !== 'buffer' && {\n backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main\n}, ownerState.color === 'inherit' && {\n opacity: 0.3\n}, ownerState.variant === 'buffer' && {\n backgroundColor: getColorShade(theme, ownerState.color),\n transition: `transform .${TRANSITION_DURATION}s linear`\n}), ({\n ownerState\n}) => (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && css(_t6 || (_t6 = _`\n width: auto;\n animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n `), indeterminate2Keyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiLinearProgress'\n });\n const {\n className,\n color = 'primary',\n value,\n valueBuffer,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const isRtl = useRtl();\n const rootProps = {};\n const inlineStyles = {\n bar1: {},\n bar2: {}\n };\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n rootProps['aria-valuemin'] = 0;\n rootProps['aria-valuemax'] = 100;\n let transform = value - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar1.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a value prop ' + 'when using the determinate or buffer variant of LinearProgress .');\n }\n }\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n let transform = (valueBuffer || 0) - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar2.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a valueBuffer prop ' + 'when using the buffer variant of LinearProgress.');\n }\n }\n return /*#__PURE__*/_jsxs(LinearProgressRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"progressbar\"\n }, rootProps, {\n ref: ref\n }, other, {\n children: [variant === 'buffer' ? /*#__PURE__*/_jsx(LinearProgressDashed, {\n className: classes.dashed,\n ownerState: ownerState\n }) : null, /*#__PURE__*/_jsx(LinearProgressBar1, {\n className: classes.bar1,\n ownerState: ownerState,\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : /*#__PURE__*/_jsx(LinearProgressBar2, {\n className: classes.bar2,\n ownerState: ownerState,\n style: inlineStyles.bar2\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LinearProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: PropTypes.number,\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate or query when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['buffer', 'determinate', 'indeterminate', 'query'])\n} : void 0;\nexport default LinearProgress;","function areArraysEqual(array1, array2, itemComparer = (a, b) => a === b) {\n return array1.length === array2.length && array1.every((value, index) => itemComparer(value, array2[index]));\n}\nexport default areArraysEqual;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_ownerDocument as ownerDocument, unstable_useControlled as useControlled, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useEventCallback as useEventCallback, unstable_useForkRef as useForkRef, unstable_useIsFocusVisible as useIsFocusVisible, visuallyHidden, clamp } from '@mui/utils';\nimport extractEventHandlers from '@mui/utils/extractEventHandlers';\nimport areArraysEqual from '../utils/areArraysEqual';\nconst INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;\nfunction asc(a, b) {\n return a - b;\n}\nfunction findClosest(values, currentValue) {\n var _values$reduce;\n const {\n index: closestIndex\n } = (_values$reduce = values.reduce((acc, value, index) => {\n const distance = Math.abs(currentValue - value);\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance,\n index\n };\n }\n return acc;\n }, null)) != null ? _values$reduce : {};\n return closestIndex;\n}\nfunction trackFinger(event, touchId) {\n // The event is TouchEvent\n if (touchId.current !== undefined && event.changedTouches) {\n const touchEvent = event;\n for (let i = 0; i < touchEvent.changedTouches.length; i += 1) {\n const touch = touchEvent.changedTouches[i];\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n return false;\n }\n\n // The event is MouseEvent\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\nexport function valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\nfunction percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n const parts = num.toExponential().split('e-');\n const matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);\n }\n const decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\nfunction roundValueToStep(value, step, min) {\n const nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\nfunction setValueIndex({\n values,\n newValue,\n index\n}) {\n const output = values.slice();\n output[index] = newValue;\n return output.sort(asc);\n}\nfunction focusThumb({\n sliderRef,\n activeIndex,\n setActive\n}) {\n var _sliderRef$current, _doc$activeElement;\n const doc = ownerDocument(sliderRef.current);\n if (!((_sliderRef$current = sliderRef.current) != null && _sliderRef$current.contains(doc.activeElement)) || Number(doc == null || (_doc$activeElement = doc.activeElement) == null ? void 0 : _doc$activeElement.getAttribute('data-index')) !== activeIndex) {\n var _sliderRef$current2;\n (_sliderRef$current2 = sliderRef.current) == null || _sliderRef$current2.querySelector(`[type=\"range\"][data-index=\"${activeIndex}\"]`).focus();\n }\n if (setActive) {\n setActive(activeIndex);\n }\n}\nfunction areValuesEqual(newValue, oldValue) {\n if (typeof newValue === 'number' && typeof oldValue === 'number') {\n return newValue === oldValue;\n }\n if (typeof newValue === 'object' && typeof oldValue === 'object') {\n return areArraysEqual(newValue, oldValue);\n }\n return false;\n}\nconst axisProps = {\n horizontal: {\n offset: percent => ({\n left: `${percent}%`\n }),\n leap: percent => ({\n width: `${percent}%`\n })\n },\n 'horizontal-reverse': {\n offset: percent => ({\n right: `${percent}%`\n }),\n leap: percent => ({\n width: `${percent}%`\n })\n },\n vertical: {\n offset: percent => ({\n bottom: `${percent}%`\n }),\n leap: percent => ({\n height: `${percent}%`\n })\n }\n};\nexport const Identity = x => x;\n\n// TODO: remove support for Safari < 13.\n// https://caniuse.com/#search=touch-action\n//\n// Safari, on iOS, supports touch action since v13.\n// Over 80% of the iOS phones are compatible\n// in August 2020.\n// Utilizing the CSS.supports method to check if touch-action is supported.\n// Since CSS.supports is supported on all but Edge@12 and IE and touch-action\n// is supported on both Edge@12 and IE if CSS.supports is not available that means that\n// touch-action will be supported\nlet cachedSupportsTouchActionNone;\nfunction doesSupportTouchActionNone() {\n if (cachedSupportsTouchActionNone === undefined) {\n if (typeof CSS !== 'undefined' && typeof CSS.supports === 'function') {\n cachedSupportsTouchActionNone = CSS.supports('touch-action', 'none');\n } else {\n cachedSupportsTouchActionNone = true;\n }\n }\n return cachedSupportsTouchActionNone;\n}\n/**\n *\n * Demos:\n *\n * - [Slider](https://mui.com/base-ui/react-slider/#hook)\n *\n * API:\n *\n * - [useSlider API](https://mui.com/base-ui/react-slider/hooks-api/#use-slider)\n */\nexport function useSlider(parameters) {\n const {\n 'aria-labelledby': ariaLabelledby,\n defaultValue,\n disabled = false,\n disableSwap = false,\n isRtl = false,\n marks: marksProp = false,\n max = 100,\n min = 0,\n name,\n onChange,\n onChangeCommitted,\n orientation = 'horizontal',\n rootRef: ref,\n scale = Identity,\n step = 1,\n shiftStep = 10,\n tabIndex,\n value: valueProp\n } = parameters;\n const touchId = React.useRef();\n // We can't use the :active browser pseudo-classes.\n // - The active state isn't triggered when clicking on the rail.\n // - The active state isn't transferred when inversing a range slider.\n const [active, setActive] = React.useState(-1);\n const [open, setOpen] = React.useState(-1);\n const [dragging, setDragging] = React.useState(false);\n const moveCount = React.useRef(0);\n const [valueDerived, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue != null ? defaultValue : min,\n name: 'Slider'\n });\n const handleChange = onChange && ((event, value, thumbIndex) => {\n // Redefine target to allow name and value to be read.\n // This allows seamless integration with the most popular form libraries.\n // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492\n // Clone the event to not override `target` of the original event.\n const nativeEvent = event.nativeEvent || event;\n // @ts-ignore The nativeEvent is function, not object\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: {\n value,\n name\n }\n });\n onChange(clonedEvent, value, thumbIndex);\n });\n const range = Array.isArray(valueDerived);\n let values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n values = values.map(value => value == null ? min : clamp(value, min, max));\n const marks = marksProp === true && step !== null ? [...Array(Math.floor((max - min) / step) + 1)].map((_, index) => ({\n value: min + step * index\n })) : marksProp || [];\n const marksValues = marks.map(mark => mark.value);\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusedThumbIndex, setFocusedThumbIndex] = React.useState(-1);\n const sliderRef = React.useRef();\n const handleFocusRef = useForkRef(focusVisibleRef, sliderRef);\n const handleRef = useForkRef(ref, handleFocusRef);\n const createHandleHiddenInputFocus = otherHandlers => event => {\n var _otherHandlers$onFocu;\n const index = Number(event.currentTarget.getAttribute('data-index'));\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusedThumbIndex(index);\n }\n setOpen(index);\n otherHandlers == null || (_otherHandlers$onFocu = otherHandlers.onFocus) == null || _otherHandlers$onFocu.call(otherHandlers, event);\n };\n const createHandleHiddenInputBlur = otherHandlers => event => {\n var _otherHandlers$onBlur;\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusedThumbIndex(-1);\n }\n setOpen(-1);\n otherHandlers == null || (_otherHandlers$onBlur = otherHandlers.onBlur) == null || _otherHandlers$onBlur.call(otherHandlers, event);\n };\n const changeValue = (event, valueInput) => {\n const index = Number(event.currentTarget.getAttribute('data-index'));\n const value = values[index];\n const marksIndex = marksValues.indexOf(value);\n let newValue = valueInput;\n if (marks && step == null) {\n const maxMarksValue = marksValues[marksValues.length - 1];\n if (newValue > maxMarksValue) {\n newValue = maxMarksValue;\n } else if (newValue < marksValues[0]) {\n newValue = marksValues[0];\n } else {\n newValue = newValue < value ? marksValues[marksIndex - 1] : marksValues[marksIndex + 1];\n }\n }\n newValue = clamp(newValue, min, max);\n if (range) {\n // Bound the new value to the thumb's neighbours.\n if (disableSwap) {\n newValue = clamp(newValue, values[index - 1] || -Infinity, values[index + 1] || Infinity);\n }\n const previousValue = newValue;\n newValue = setValueIndex({\n values,\n newValue,\n index\n });\n let activeIndex = index;\n\n // Potentially swap the index if needed.\n if (!disableSwap) {\n activeIndex = newValue.indexOf(previousValue);\n }\n focusThumb({\n sliderRef,\n activeIndex\n });\n }\n setValueState(newValue);\n setFocusedThumbIndex(index);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(event, newValue, index);\n }\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n };\n const createHandleHiddenInputKeyDown = otherHandlers => event => {\n var _otherHandlers$onKeyD;\n // The Shift + Up/Down keyboard shortcuts for moving the slider makes sense to be supported\n // only if the step is defined. If the step is null, this means tha the marks are used for specifying the valid values.\n if (step !== null) {\n const index = Number(event.currentTarget.getAttribute('data-index'));\n const value = values[index];\n let newValue = null;\n if ((event.key === 'ArrowLeft' || event.key === 'ArrowDown') && event.shiftKey || event.key === 'PageDown') {\n newValue = Math.max(value - shiftStep, min);\n } else if ((event.key === 'ArrowRight' || event.key === 'ArrowUp') && event.shiftKey || event.key === 'PageUp') {\n newValue = Math.min(value + shiftStep, max);\n }\n if (newValue !== null) {\n changeValue(event, newValue);\n event.preventDefault();\n }\n }\n otherHandlers == null || (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event);\n };\n useEnhancedEffect(() => {\n if (disabled && sliderRef.current.contains(document.activeElement)) {\n var _document$activeEleme;\n // This is necessary because Firefox and Safari will keep focus\n // on a disabled element:\n // https://codesandbox.io/p/sandbox/mui-pr-22247-forked-h151h?file=/src/App.js\n // @ts-ignore\n (_document$activeEleme = document.activeElement) == null || _document$activeEleme.blur();\n }\n }, [disabled]);\n if (disabled && active !== -1) {\n setActive(-1);\n }\n if (disabled && focusedThumbIndex !== -1) {\n setFocusedThumbIndex(-1);\n }\n const createHandleHiddenInputChange = otherHandlers => event => {\n var _otherHandlers$onChan;\n (_otherHandlers$onChan = otherHandlers.onChange) == null || _otherHandlers$onChan.call(otherHandlers, event);\n // @ts-ignore\n changeValue(event, event.target.valueAsNumber);\n };\n const previousIndex = React.useRef();\n let axis = orientation;\n if (isRtl && orientation === 'horizontal') {\n axis += '-reverse';\n }\n const getFingerNewValue = ({\n finger,\n move = false\n }) => {\n const {\n current: slider\n } = sliderRef;\n const {\n width,\n height,\n bottom,\n left\n } = slider.getBoundingClientRect();\n let percent;\n if (axis.indexOf('vertical') === 0) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n if (axis.indexOf('-reverse') !== -1) {\n percent = 1 - percent;\n }\n let newValue;\n newValue = percentToValue(percent, min, max);\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n } else {\n const closestIndex = findClosest(marksValues, newValue);\n newValue = marksValues[closestIndex];\n }\n newValue = clamp(newValue, min, max);\n let activeIndex = 0;\n if (range) {\n if (!move) {\n activeIndex = findClosest(values, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n\n // Bound the new value to the thumb's neighbours.\n if (disableSwap) {\n newValue = clamp(newValue, values[activeIndex - 1] || -Infinity, values[activeIndex + 1] || Infinity);\n }\n const previousValue = newValue;\n newValue = setValueIndex({\n values,\n newValue,\n index: activeIndex\n });\n\n // Potentially swap the index if needed.\n if (!(disableSwap && move)) {\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n }\n return {\n newValue,\n activeIndex\n };\n };\n const handleTouchMove = useEventCallback(nativeEvent => {\n const finger = trackFinger(nativeEvent, touchId);\n if (!finger) {\n return;\n }\n moveCount.current += 1;\n\n // Cancel move in case some other element consumed a mouseup event and it was not fired.\n // @ts-ignore buttons doesn't not exists on touch event\n if (nativeEvent.type === 'mousemove' && nativeEvent.buttons === 0) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleTouchEnd(nativeEvent);\n return;\n }\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger,\n move: true\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {\n setDragging(true);\n }\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(nativeEvent, newValue, activeIndex);\n }\n });\n const handleTouchEnd = useEventCallback(nativeEvent => {\n const finger = trackFinger(nativeEvent, touchId);\n setDragging(false);\n if (!finger) {\n return;\n }\n const {\n newValue\n } = getFingerNewValue({\n finger,\n move: true\n });\n setActive(-1);\n if (nativeEvent.type === 'touchend') {\n setOpen(-1);\n }\n if (onChangeCommitted) {\n onChangeCommitted(nativeEvent, newValue);\n }\n touchId.current = undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n stopListening();\n });\n const handleTouchStart = useEventCallback(nativeEvent => {\n if (disabled) {\n return;\n }\n // If touch-action: none; is not supported we need to prevent the scroll manually.\n if (!doesSupportTouchActionNone()) {\n nativeEvent.preventDefault();\n }\n const touch = nativeEvent.changedTouches[0];\n if (touch != null) {\n // A number that uniquely identifies the current finger in the touch session.\n touchId.current = touch.identifier;\n }\n const finger = trackFinger(nativeEvent, touchId);\n if (finger !== false) {\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(nativeEvent, newValue, activeIndex);\n }\n }\n moveCount.current = 0;\n const doc = ownerDocument(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove, {\n passive: true\n });\n doc.addEventListener('touchend', handleTouchEnd, {\n passive: true\n });\n });\n const stopListening = React.useCallback(() => {\n const doc = ownerDocument(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n }, [handleTouchEnd, handleTouchMove]);\n React.useEffect(() => {\n const {\n current: slider\n } = sliderRef;\n slider.addEventListener('touchstart', handleTouchStart, {\n passive: doesSupportTouchActionNone()\n });\n return () => {\n slider.removeEventListener('touchstart', handleTouchStart);\n stopListening();\n };\n }, [stopListening, handleTouchStart]);\n React.useEffect(() => {\n if (disabled) {\n stopListening();\n }\n }, [disabled, stopListening]);\n const createHandleMouseDown = otherHandlers => event => {\n var _otherHandlers$onMous;\n (_otherHandlers$onMous = otherHandlers.onMouseDown) == null || _otherHandlers$onMous.call(otherHandlers, event);\n if (disabled) {\n return;\n }\n if (event.defaultPrevented) {\n return;\n }\n\n // Only handle left clicks\n if (event.button !== 0) {\n return;\n }\n\n // Avoid text selection\n event.preventDefault();\n const finger = trackFinger(event, touchId);\n if (finger !== false) {\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(event, newValue, activeIndex);\n }\n }\n moveCount.current = 0;\n const doc = ownerDocument(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove, {\n passive: true\n });\n doc.addEventListener('mouseup', handleTouchEnd);\n };\n const trackOffset = valueToPercent(range ? values[0] : min, min, max);\n const trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n const getRootProps = (externalProps = {}) => {\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onMouseDown: createHandleMouseDown(externalHandlers || {})\n };\n const mergedEventHandlers = _extends({}, externalHandlers, ownEventHandlers);\n return _extends({}, externalProps, {\n ref: handleRef\n }, mergedEventHandlers);\n };\n const createHandleMouseOver = otherHandlers => event => {\n var _otherHandlers$onMous2;\n (_otherHandlers$onMous2 = otherHandlers.onMouseOver) == null || _otherHandlers$onMous2.call(otherHandlers, event);\n const index = Number(event.currentTarget.getAttribute('data-index'));\n setOpen(index);\n };\n const createHandleMouseLeave = otherHandlers => event => {\n var _otherHandlers$onMous3;\n (_otherHandlers$onMous3 = otherHandlers.onMouseLeave) == null || _otherHandlers$onMous3.call(otherHandlers, event);\n setOpen(-1);\n };\n const getThumbProps = (externalProps = {}) => {\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onMouseOver: createHandleMouseOver(externalHandlers || {}),\n onMouseLeave: createHandleMouseLeave(externalHandlers || {})\n };\n return _extends({}, externalProps, externalHandlers, ownEventHandlers);\n };\n const getThumbStyle = index => {\n return {\n // So the non active thumb doesn't show its label on hover.\n pointerEvents: active !== -1 && active !== index ? 'none' : undefined\n };\n };\n const getHiddenInputProps = (externalProps = {}) => {\n var _parameters$step;\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onChange: createHandleHiddenInputChange(externalHandlers || {}),\n onFocus: createHandleHiddenInputFocus(externalHandlers || {}),\n onBlur: createHandleHiddenInputBlur(externalHandlers || {}),\n onKeyDown: createHandleHiddenInputKeyDown(externalHandlers || {})\n };\n const mergedEventHandlers = _extends({}, externalHandlers, ownEventHandlers);\n return _extends({\n tabIndex,\n 'aria-labelledby': ariaLabelledby,\n 'aria-orientation': orientation,\n 'aria-valuemax': scale(max),\n 'aria-valuemin': scale(min),\n name,\n type: 'range',\n min: parameters.min,\n max: parameters.max,\n step: parameters.step === null && parameters.marks ? 'any' : (_parameters$step = parameters.step) != null ? _parameters$step : undefined,\n disabled\n }, externalProps, mergedEventHandlers, {\n style: _extends({}, visuallyHidden, {\n direction: isRtl ? 'rtl' : 'ltr',\n // So that VoiceOver's focus indicator matches the thumb's dimensions\n width: '100%',\n height: '100%'\n })\n });\n };\n return {\n active,\n axis: axis,\n axisProps,\n dragging,\n focusedThumbIndex,\n getHiddenInputProps,\n getRootProps,\n getThumbProps,\n marks: marks,\n open,\n range,\n rootRef: handleRef,\n trackLeap,\n trackOffset,\n values,\n getThumbStyle\n };\n}","import isHostComponent from '@mui/utils/isHostComponent';\nconst shouldSpreadAdditionalProps = Slot => {\n return !Slot || !isHostComponent(Slot);\n};\nexport default shouldSpreadAdditionalProps;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSliderUtilityClass(slot) {\n return generateUtilityClass('MuiSlider', slot);\n}\nconst sliderClasses = generateUtilityClasses('MuiSlider', ['root', 'active', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'disabled', 'dragging', 'focusVisible', 'mark', 'markActive', 'marked', 'markLabel', 'markLabelActive', 'rail', 'sizeSmall', 'thumb', 'thumbColorPrimary', 'thumbColorSecondary', 'thumbColorError', 'thumbColorSuccess', 'thumbColorInfo', 'thumbColorWarning', 'track', 'trackInverted', 'trackFalse', 'thumbSizeSmall', 'valueLabel', 'valueLabelOpen', 'valueLabelCircle', 'valueLabelLabel', 'vertical']);\nexport default sliderClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-label\", \"aria-valuetext\", \"aria-labelledby\", \"component\", \"components\", \"componentsProps\", \"color\", \"classes\", \"className\", \"disableSwap\", \"disabled\", \"getAriaLabel\", \"getAriaValueText\", \"marks\", \"max\", \"min\", \"name\", \"onChange\", \"onChangeCommitted\", \"orientation\", \"shiftStep\", \"size\", \"step\", \"scale\", \"slotProps\", \"slots\", \"tabIndex\", \"track\", \"value\", \"valueLabelDisplay\", \"valueLabelFormat\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, lighten, darken } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport isHostComponent from '@mui/utils/isHostComponent';\nimport { useSlider, valueToPercent } from './useSlider';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport slotShouldForwardProp from '../styles/slotShouldForwardProp';\nimport shouldSpreadAdditionalProps from '../utils/shouldSpreadAdditionalProps';\nimport capitalize from '../utils/capitalize';\nimport BaseSliderValueLabel from './SliderValueLabel';\nimport sliderClasses, { getSliderUtilityClass } from './sliderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction Identity(x) {\n return x;\n}\nexport const SliderRoot = styled('span', {\n name: 'MuiSlider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], ownerState.size !== 'medium' && styles[`size${capitalize(ownerState.size)}`], ownerState.marked && styles.marked, ownerState.orientation === 'vertical' && styles.vertical, ownerState.track === 'inverted' && styles.trackInverted, ownerState.track === false && styles.trackFalse];\n }\n})(({\n theme\n}) => {\n var _theme$vars;\n return {\n borderRadius: 12,\n boxSizing: 'content-box',\n display: 'inline-block',\n position: 'relative',\n cursor: 'pointer',\n touchAction: 'none',\n WebkitTapHighlightColor: 'transparent',\n '@media print': {\n colorAdjust: 'exact'\n },\n [`&.${sliderClasses.disabled}`]: {\n pointerEvents: 'none',\n cursor: 'default',\n color: (theme.vars || theme).palette.grey[400]\n },\n [`&.${sliderClasses.dragging}`]: {\n [`& .${sliderClasses.thumb}, & .${sliderClasses.track}`]: {\n transition: 'none'\n }\n },\n variants: [...Object.keys(((_theme$vars = theme.vars) != null ? _theme$vars : theme).palette).filter(key => {\n var _theme$vars2;\n return ((_theme$vars2 = theme.vars) != null ? _theme$vars2 : theme).palette[key].main;\n }).map(color => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n })), {\n props: {\n orientation: 'horizontal'\n },\n style: {\n height: 4,\n width: '100%',\n padding: '13px 0',\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '20px 0'\n }\n }\n }, {\n props: {\n orientation: 'horizontal',\n size: 'small'\n },\n style: {\n height: 2\n }\n }, {\n props: {\n orientation: 'horizontal',\n marked: true\n },\n style: {\n marginBottom: 20\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n height: '100%',\n width: 4,\n padding: '0 13px',\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '0 20px'\n }\n }\n }, {\n props: {\n orientation: 'vertical',\n size: 'small'\n },\n style: {\n width: 2\n }\n }, {\n props: {\n orientation: 'vertical',\n marked: true\n },\n style: {\n marginRight: 44\n }\n }]\n };\n});\nexport const SliderRail = styled('span', {\n name: 'MuiSlider',\n slot: 'Rail',\n overridesResolver: (props, styles) => styles.rail\n})({\n display: 'block',\n position: 'absolute',\n borderRadius: 'inherit',\n backgroundColor: 'currentColor',\n opacity: 0.38,\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n width: '100%',\n height: 'inherit',\n top: '50%',\n transform: 'translateY(-50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n height: '100%',\n width: 'inherit',\n left: '50%',\n transform: 'translateX(-50%)'\n }\n }, {\n props: {\n track: 'inverted'\n },\n style: {\n opacity: 1\n }\n }]\n});\nexport const SliderTrack = styled('span', {\n name: 'MuiSlider',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => {\n var _theme$vars3;\n return {\n display: 'block',\n position: 'absolute',\n borderRadius: 'inherit',\n border: '1px solid currentColor',\n backgroundColor: 'currentColor',\n transition: theme.transitions.create(['left', 'width', 'bottom', 'height'], {\n duration: theme.transitions.duration.shortest\n }),\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n border: 'none'\n }\n }, {\n props: {\n orientation: 'horizontal'\n },\n style: {\n height: 'inherit',\n top: '50%',\n transform: 'translateY(-50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n width: 'inherit',\n left: '50%',\n transform: 'translateX(-50%)'\n }\n }, {\n props: {\n track: false\n },\n style: {\n display: 'none'\n }\n }, ...Object.keys(((_theme$vars3 = theme.vars) != null ? _theme$vars3 : theme).palette).filter(key => {\n var _theme$vars4;\n return ((_theme$vars4 = theme.vars) != null ? _theme$vars4 : theme).palette[key].main;\n }).map(color => ({\n props: {\n color,\n track: 'inverted'\n },\n style: _extends({}, theme.vars ? {\n backgroundColor: theme.vars.palette.Slider[`${color}Track`],\n borderColor: theme.vars.palette.Slider[`${color}Track`]\n } : _extends({\n backgroundColor: lighten(theme.palette[color].main, 0.62),\n borderColor: lighten(theme.palette[color].main, 0.62)\n }, theme.applyStyles('dark', {\n backgroundColor: darken(theme.palette[color].main, 0.5)\n }), theme.applyStyles('dark', {\n borderColor: darken(theme.palette[color].main, 0.5)\n })))\n }))]\n };\n});\nexport const SliderThumb = styled('span', {\n name: 'MuiSlider',\n slot: 'Thumb',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.thumb, styles[`thumbColor${capitalize(ownerState.color)}`], ownerState.size !== 'medium' && styles[`thumbSize${capitalize(ownerState.size)}`]];\n }\n})(({\n theme\n}) => {\n var _theme$vars5;\n return {\n position: 'absolute',\n width: 20,\n height: 20,\n boxSizing: 'border-box',\n borderRadius: '50%',\n outline: 0,\n backgroundColor: 'currentColor',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: theme.transitions.create(['box-shadow', 'left', 'bottom'], {\n duration: theme.transitions.duration.shortest\n }),\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: 'inherit',\n width: '100%',\n height: '100%',\n boxShadow: (theme.vars || theme).shadows[2]\n },\n '&::after': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: '50%',\n // 42px is the hit target\n width: 42,\n height: 42,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)'\n },\n [`&.${sliderClasses.disabled}`]: {\n '&:hover': {\n boxShadow: 'none'\n }\n },\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n width: 12,\n height: 12,\n '&::before': {\n boxShadow: 'none'\n }\n }\n }, {\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: '50%',\n transform: 'translate(-50%, 50%)'\n }\n }, ...Object.keys(((_theme$vars5 = theme.vars) != null ? _theme$vars5 : theme).palette).filter(key => {\n var _theme$vars6;\n return ((_theme$vars6 = theme.vars) != null ? _theme$vars6 : theme).palette[key].main;\n }).map(color => ({\n props: {\n color\n },\n style: {\n [`&:hover, &.${sliderClasses.focusVisible}`]: _extends({}, theme.vars ? {\n boxShadow: `0px 0px 0px 8px rgba(${theme.vars.palette[color].mainChannel} / 0.16)`\n } : {\n boxShadow: `0px 0px 0px 8px ${alpha(theme.palette[color].main, 0.16)}`\n }, {\n '@media (hover: none)': {\n boxShadow: 'none'\n }\n }),\n [`&.${sliderClasses.active}`]: _extends({}, theme.vars ? {\n boxShadow: `0px 0px 0px 14px rgba(${theme.vars.palette[color].mainChannel} / 0.16)`\n } : {\n boxShadow: `0px 0px 0px 14px ${alpha(theme.palette[color].main, 0.16)}`\n })\n }\n }))]\n };\n});\nexport const SliderValueLabel = styled(BaseSliderValueLabel, {\n name: 'MuiSlider',\n slot: 'ValueLabel',\n overridesResolver: (props, styles) => styles.valueLabel\n})(({\n theme\n}) => _extends({\n zIndex: 1,\n whiteSpace: 'nowrap'\n}, theme.typography.body2, {\n fontWeight: 500,\n transition: theme.transitions.create(['transform'], {\n duration: theme.transitions.duration.shortest\n }),\n position: 'absolute',\n backgroundColor: (theme.vars || theme).palette.grey[600],\n borderRadius: 2,\n color: (theme.vars || theme).palette.common.white,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '0.25rem 0.75rem',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n transform: 'translateY(-100%) scale(0)',\n top: '-10px',\n transformOrigin: 'bottom center',\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n width: 8,\n height: 8,\n transform: 'translate(-50%, 50%) rotate(45deg)',\n backgroundColor: 'inherit',\n bottom: 0,\n left: '50%'\n },\n [`&.${sliderClasses.valueLabelOpen}`]: {\n transform: 'translateY(-100%) scale(1)'\n }\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n transform: 'translateY(-50%) scale(0)',\n right: '30px',\n top: '50%',\n transformOrigin: 'right center',\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n width: 8,\n height: 8,\n transform: 'translate(-50%, -50%) rotate(45deg)',\n backgroundColor: 'inherit',\n right: -8,\n top: '50%'\n },\n [`&.${sliderClasses.valueLabelOpen}`]: {\n transform: 'translateY(-50%) scale(1)'\n }\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n fontSize: theme.typography.pxToRem(12),\n padding: '0.25rem 0.5rem'\n }\n }, {\n props: {\n orientation: 'vertical',\n size: 'small'\n },\n style: {\n right: '20px'\n }\n }]\n}));\nexport const SliderMark = styled('span', {\n name: 'MuiSlider',\n slot: 'Mark',\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'markActive',\n overridesResolver: (props, styles) => {\n const {\n markActive\n } = props;\n return [styles.mark, markActive && styles.markActive];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n width: 2,\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: '50%',\n transform: 'translate(-1px, -50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: '50%',\n transform: 'translate(-50%, 1px)'\n }\n }, {\n props: {\n markActive: true\n },\n style: {\n backgroundColor: (theme.vars || theme).palette.background.paper,\n opacity: 0.8\n }\n }]\n}));\nexport const SliderMarkLabel = styled('span', {\n name: 'MuiSlider',\n slot: 'MarkLabel',\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'markLabelActive',\n overridesResolver: (props, styles) => styles.markLabel\n})(({\n theme\n}) => _extends({}, theme.typography.body2, {\n color: (theme.vars || theme).palette.text.secondary,\n position: 'absolute',\n whiteSpace: 'nowrap',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: 30,\n transform: 'translateX(-50%)',\n '@media (pointer: coarse)': {\n top: 40\n }\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: 36,\n transform: 'translateY(50%)',\n '@media (pointer: coarse)': {\n left: 44\n }\n }\n }, {\n props: {\n markLabelActive: true\n },\n style: {\n color: (theme.vars || theme).palette.text.primary\n }\n }]\n}));\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dragging,\n marked,\n orientation,\n track,\n classes,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', dragging && 'dragging', marked && 'marked', orientation === 'vertical' && 'vertical', track === 'inverted' && 'trackInverted', track === false && 'trackFalse', color && `color${capitalize(color)}`, size && `size${capitalize(size)}`],\n rail: ['rail'],\n track: ['track'],\n mark: ['mark'],\n markActive: ['markActive'],\n markLabel: ['markLabel'],\n markLabelActive: ['markLabelActive'],\n valueLabel: ['valueLabel'],\n thumb: ['thumb', disabled && 'disabled', size && `thumbSize${capitalize(size)}`, color && `thumbColor${capitalize(color)}`],\n active: ['active'],\n disabled: ['disabled'],\n focusVisible: ['focusVisible']\n };\n return composeClasses(slots, getSliderUtilityClass, classes);\n};\nconst Forward = ({\n children\n}) => children;\nconst Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {\n var _ref, _slots$root, _ref2, _slots$rail, _ref3, _slots$track, _ref4, _slots$thumb, _ref5, _slots$valueLabel, _ref6, _slots$mark, _ref7, _slots$markLabel, _ref8, _slots$input, _slotProps$root, _slotProps$rail, _slotProps$track, _slotProps$thumb, _slotProps$valueLabel, _slotProps$mark, _slotProps$markLabel, _slotProps$input;\n const props = useDefaultProps({\n props: inputProps,\n name: 'MuiSlider'\n });\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-valuetext': ariaValuetext,\n 'aria-labelledby': ariaLabelledby,\n // eslint-disable-next-line react/prop-types\n component = 'span',\n components = {},\n componentsProps = {},\n color = 'primary',\n classes: classesProp,\n className,\n disableSwap = false,\n disabled = false,\n getAriaLabel,\n getAriaValueText,\n marks: marksProp = false,\n max = 100,\n min = 0,\n orientation = 'horizontal',\n shiftStep = 10,\n size = 'medium',\n step = 1,\n scale = Identity,\n slotProps,\n slots,\n track = 'normal',\n valueLabelDisplay = 'off',\n valueLabelFormat = Identity\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n isRtl,\n max,\n min,\n classes: classesProp,\n disabled,\n disableSwap,\n orientation,\n marks: marksProp,\n color,\n size,\n step,\n shiftStep,\n scale,\n track,\n valueLabelDisplay,\n valueLabelFormat\n });\n const {\n axisProps,\n getRootProps,\n getHiddenInputProps,\n getThumbProps,\n open,\n active,\n axis,\n focusedThumbIndex,\n range,\n dragging,\n marks,\n values,\n trackOffset,\n trackLeap,\n getThumbStyle\n } = useSlider(_extends({}, ownerState, {\n rootRef: ref\n }));\n ownerState.marked = marks.length > 0 && marks.some(mark => mark.label);\n ownerState.dragging = dragging;\n ownerState.focusedThumbIndex = focusedThumbIndex;\n const classes = useUtilityClasses(ownerState);\n\n // support both `slots` and `components` for backward compatibility\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : SliderRoot;\n const RailSlot = (_ref2 = (_slots$rail = slots == null ? void 0 : slots.rail) != null ? _slots$rail : components.Rail) != null ? _ref2 : SliderRail;\n const TrackSlot = (_ref3 = (_slots$track = slots == null ? void 0 : slots.track) != null ? _slots$track : components.Track) != null ? _ref3 : SliderTrack;\n const ThumbSlot = (_ref4 = (_slots$thumb = slots == null ? void 0 : slots.thumb) != null ? _slots$thumb : components.Thumb) != null ? _ref4 : SliderThumb;\n const ValueLabelSlot = (_ref5 = (_slots$valueLabel = slots == null ? void 0 : slots.valueLabel) != null ? _slots$valueLabel : components.ValueLabel) != null ? _ref5 : SliderValueLabel;\n const MarkSlot = (_ref6 = (_slots$mark = slots == null ? void 0 : slots.mark) != null ? _slots$mark : components.Mark) != null ? _ref6 : SliderMark;\n const MarkLabelSlot = (_ref7 = (_slots$markLabel = slots == null ? void 0 : slots.markLabel) != null ? _slots$markLabel : components.MarkLabel) != null ? _ref7 : SliderMarkLabel;\n const InputSlot = (_ref8 = (_slots$input = slots == null ? void 0 : slots.input) != null ? _slots$input : components.Input) != null ? _ref8 : 'input';\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const railSlotProps = (_slotProps$rail = slotProps == null ? void 0 : slotProps.rail) != null ? _slotProps$rail : componentsProps.rail;\n const trackSlotProps = (_slotProps$track = slotProps == null ? void 0 : slotProps.track) != null ? _slotProps$track : componentsProps.track;\n const thumbSlotProps = (_slotProps$thumb = slotProps == null ? void 0 : slotProps.thumb) != null ? _slotProps$thumb : componentsProps.thumb;\n const valueLabelSlotProps = (_slotProps$valueLabel = slotProps == null ? void 0 : slotProps.valueLabel) != null ? _slotProps$valueLabel : componentsProps.valueLabel;\n const markSlotProps = (_slotProps$mark = slotProps == null ? void 0 : slotProps.mark) != null ? _slotProps$mark : componentsProps.mark;\n const markLabelSlotProps = (_slotProps$markLabel = slotProps == null ? void 0 : slotProps.markLabel) != null ? _slotProps$markLabel : componentsProps.markLabel;\n const inputSlotProps = (_slotProps$input = slotProps == null ? void 0 : slotProps.input) != null ? _slotProps$input : componentsProps.input;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n getSlotProps: getRootProps,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n additionalProps: _extends({}, shouldSpreadAdditionalProps(RootSlot) && {\n as: component\n }),\n ownerState: _extends({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),\n className: [classes.root, className]\n });\n const railProps = useSlotProps({\n elementType: RailSlot,\n externalSlotProps: railSlotProps,\n ownerState,\n className: classes.rail\n });\n const trackProps = useSlotProps({\n elementType: TrackSlot,\n externalSlotProps: trackSlotProps,\n additionalProps: {\n style: _extends({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap))\n },\n ownerState: _extends({}, ownerState, trackSlotProps == null ? void 0 : trackSlotProps.ownerState),\n className: classes.track\n });\n const thumbProps = useSlotProps({\n elementType: ThumbSlot,\n getSlotProps: getThumbProps,\n externalSlotProps: thumbSlotProps,\n ownerState: _extends({}, ownerState, thumbSlotProps == null ? void 0 : thumbSlotProps.ownerState),\n className: classes.thumb\n });\n const valueLabelProps = useSlotProps({\n elementType: ValueLabelSlot,\n externalSlotProps: valueLabelSlotProps,\n ownerState: _extends({}, ownerState, valueLabelSlotProps == null ? void 0 : valueLabelSlotProps.ownerState),\n className: classes.valueLabel\n });\n const markProps = useSlotProps({\n elementType: MarkSlot,\n externalSlotProps: markSlotProps,\n ownerState,\n className: classes.mark\n });\n const markLabelProps = useSlotProps({\n elementType: MarkLabelSlot,\n externalSlotProps: markLabelSlotProps,\n ownerState,\n className: classes.markLabel\n });\n const inputSliderProps = useSlotProps({\n elementType: InputSlot,\n getSlotProps: getHiddenInputProps,\n externalSlotProps: inputSlotProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, _extends({}, rootProps, {\n children: [/*#__PURE__*/_jsx(RailSlot, _extends({}, railProps)), /*#__PURE__*/_jsx(TrackSlot, _extends({}, trackProps)), marks.filter(mark => mark.value >= min && mark.value <= max).map((mark, index) => {\n const percent = valueToPercent(mark.value, min, max);\n const style = axisProps[axis].offset(percent);\n let markActive;\n if (track === false) {\n markActive = values.indexOf(mark.value) !== -1;\n } else {\n markActive = track === 'normal' && (range ? mark.value >= values[0] && mark.value <= values[values.length - 1] : mark.value <= values[0]) || track === 'inverted' && (range ? mark.value <= values[0] || mark.value >= values[values.length - 1] : mark.value >= values[0]);\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(MarkSlot, _extends({\n \"data-index\": index\n }, markProps, !isHostComponent(MarkSlot) && {\n markActive\n }, {\n style: _extends({}, style, markProps.style),\n className: clsx(markProps.className, markActive && classes.markActive)\n })), mark.label != null ? /*#__PURE__*/_jsx(MarkLabelSlot, _extends({\n \"aria-hidden\": true,\n \"data-index\": index\n }, markLabelProps, !isHostComponent(MarkLabelSlot) && {\n markLabelActive: markActive\n }, {\n style: _extends({}, style, markLabelProps.style),\n className: clsx(classes.markLabel, markLabelProps.className, markActive && classes.markLabelActive),\n children: mark.label\n })) : null]\n }, index);\n }), values.map((value, index) => {\n const percent = valueToPercent(value, min, max);\n const style = axisProps[axis].offset(percent);\n const ValueLabelComponent = valueLabelDisplay === 'off' ? Forward : ValueLabelSlot;\n return (\n /*#__PURE__*/\n /* TODO v6: Change component structure. It will help in avoiding the complicated React.cloneElement API added in SliderValueLabel component. Should be: Thumb -> Input, ValueLabel. Follow Joy UI's Slider structure. */\n _jsx(ValueLabelComponent, _extends({}, !isHostComponent(ValueLabelComponent) && {\n valueLabelFormat,\n valueLabelDisplay,\n value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,\n index,\n open: open === index || active === index || valueLabelDisplay === 'on',\n disabled\n }, valueLabelProps, {\n children: /*#__PURE__*/_jsx(ThumbSlot, _extends({\n \"data-index\": index\n }, thumbProps, {\n className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),\n style: _extends({}, style, getThumbStyle(index), thumbProps.style),\n children: /*#__PURE__*/_jsx(InputSlot, _extends({\n \"data-index\": index,\n \"aria-label\": getAriaLabel ? getAriaLabel(index) : ariaLabel,\n \"aria-valuenow\": scale(value),\n \"aria-labelledby\": ariaLabelledby,\n \"aria-valuetext\": getAriaValueText ? getAriaValueText(scale(value), index) : ariaValuetext,\n value: values[index]\n }, inputSliderProps))\n }))\n }), index)\n );\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Slider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The label of the slider.\n */\n 'aria-label': chainPropTypes(PropTypes.string, props => {\n const range = Array.isArray(props.value || props.defaultValue);\n if (range && props['aria-label'] != null) {\n return new Error('MUI: You need to use the `getAriaLabel` prop instead of `aria-label` when using a range slider.');\n }\n return null;\n }),\n /**\n * The id of the element containing a label for the slider.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * A string value that provides a user-friendly name for the current value of the slider.\n */\n 'aria-valuetext': chainPropTypes(PropTypes.string, props => {\n const range = Array.isArray(props.value || props.defaultValue);\n if (range && props['aria-valuetext'] != null) {\n return new Error('MUI: You need to use the `getAriaValueText` prop instead of `aria-valuetext` when using a range slider.');\n }\n return null;\n }),\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Mark: PropTypes.elementType,\n MarkLabel: PropTypes.elementType,\n Rail: PropTypes.elementType,\n Root: PropTypes.elementType,\n Thumb: PropTypes.elementType,\n Track: PropTypes.elementType,\n ValueLabel: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n mark: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n markLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n rail: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n track: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n valueLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n children: PropTypes.element,\n className: PropTypes.string,\n open: PropTypes.bool,\n style: PropTypes.object,\n value: PropTypes.number,\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])\n })])\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number]),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the active thumb doesn't swap when moving pointer over a thumb while dragging another thumb.\n * @default false\n */\n disableSwap: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the thumb labels of the slider.\n * This is important for screen reader users.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaLabel: PropTypes.func,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider.\n * This is important for screen reader users.\n * @param {number} value The thumb label's value to format.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaValueText: PropTypes.func,\n /**\n * Marks indicate predetermined values to which the user can move the slider.\n * If `true` the marks are spaced according the value of the `step` prop.\n * If an array, it should contain objects with `value` and an optional `label` keys.\n * @default false\n */\n marks: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.node,\n value: PropTypes.number.isRequired\n })), PropTypes.bool]),\n /**\n * The maximum allowed value of the slider.\n * Should not be equal to min.\n * @default 100\n */\n max: PropTypes.number,\n /**\n * The minimum allowed value of the slider.\n * Should not be equal to max.\n * @default 0\n */\n min: PropTypes.number,\n /**\n * Name attribute of the hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback function that is fired when the slider's value changed.\n *\n * @param {Event} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * **Warning**: This is a generic event not a change event.\n * @param {number | number[]} value The new value.\n * @param {number} activeThumb Index of the currently moved thumb.\n */\n onChange: PropTypes.func,\n /**\n * Callback function that is fired when the `mouseup` is triggered.\n *\n * @param {React.SyntheticEvent | Event} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {number | number[]} value The new value.\n */\n onChangeCommitted: PropTypes.func,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * A transformation function, to change the scale of the slider.\n * @param {any} x\n * @returns {any}\n * @default function Identity(x) {\n * return x;\n * }\n */\n scale: PropTypes.func,\n /**\n * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.\n * @default 10\n */\n shiftStep: PropTypes.number,\n /**\n * The size of the slider.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n /**\n * The props used for each slot inside the Slider.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n mark: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n markLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n rail: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n track: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n valueLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n children: PropTypes.element,\n className: PropTypes.string,\n open: PropTypes.bool,\n style: PropTypes.object,\n value: PropTypes.number,\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])\n })])\n }),\n /**\n * The components used for each slot inside the Slider.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n mark: PropTypes.elementType,\n markLabel: PropTypes.elementType,\n rail: PropTypes.elementType,\n root: PropTypes.elementType,\n thumb: PropTypes.elementType,\n track: PropTypes.elementType,\n valueLabel: PropTypes.elementType\n }),\n /**\n * The granularity with which the slider can step through values. (A \"discrete\" slider.)\n * The `min` prop serves as the origin for the valid values.\n * We recommend (max - min) to be evenly divisible by the step.\n *\n * When step is `null`, the thumb can only be slid onto marks provided with the `marks` prop.\n * @default 1\n */\n step: PropTypes.number,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Tab index attribute of the hidden `input` element.\n */\n tabIndex: PropTypes.number,\n /**\n * The track presentation:\n *\n * - `normal` the track will render a bar representing the slider value.\n * - `inverted` the track will render a bar representing the remaining slider value.\n * - `false` the track will render without a bar.\n * @default 'normal'\n */\n track: PropTypes.oneOf(['inverted', 'normal', false]),\n /**\n * The value of the slider.\n * For ranged sliders, provide an array with two values.\n */\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number]),\n /**\n * Controls when the value label is displayed:\n *\n * - `auto` the value label will display when the thumb is hovered or focused.\n * - `on` will display persistently.\n * - `off` will never display.\n * @default 'off'\n */\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on']),\n /**\n * The format function the value label's value.\n *\n * When a function is provided, it should have the following signature:\n *\n * - {number} value The value label's value to format\n * - {number} index The value label's index to format\n * @param {any} x\n * @returns {any}\n * @default function Identity(x) {\n * return x;\n * }\n */\n valueLabelFormat: PropTypes.oneOfType([PropTypes.func, PropTypes.string])\n} : void 0;\nexport default Slider;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport sliderClasses from './sliderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useValueLabelClasses = props => {\n const {\n open\n } = props;\n const utilityClasses = {\n offset: clsx(open && sliderClasses.valueLabelOpen),\n circle: sliderClasses.valueLabelCircle,\n label: sliderClasses.valueLabelLabel\n };\n return utilityClasses;\n};\n\n/**\n * @ignore - internal component.\n */\nexport default function SliderValueLabel(props) {\n const {\n children,\n className,\n value\n } = props;\n const classes = useValueLabelClasses(props);\n if (!children) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(children, {\n className: clsx(children.props.className)\n }, /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children.props.children, /*#__PURE__*/_jsx(\"span\", {\n className: clsx(classes.offset, className),\n \"aria-hidden\": true,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: classes.circle,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: classes.label,\n children: value\n })\n })\n })]\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? SliderValueLabel.propTypes = {\n children: PropTypes.element.isRequired,\n className: PropTypes.string,\n value: PropTypes.node\n} : void 0;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableContainerUtilityClass(slot) {\n return generateUtilityClass('MuiTableContainer', slot);\n}\nconst tableContainerClasses = generateUtilityClasses('MuiTableContainer', ['root']);\nexport default tableContainerClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getTableContainerUtilityClass } from './tableContainerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableContainerUtilityClass, classes);\n};\nconst TableContainerRoot = styled('div', {\n name: 'MuiTableContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n width: '100%',\n overflowX: 'auto'\n});\nconst TableContainer = /*#__PURE__*/React.forwardRef(function TableContainer(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTableContainer'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableContainerRoot, _extends({\n ref: ref,\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableContainer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `Table`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableContainer;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nimport { ownerWindow, unstable_useEnhancedEffect as useEnhancedEffect } from '../utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n width: 99,\n height: 99,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll'\n};\n\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\nexport default function ScrollbarSize(props) {\n const {\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollbarHeight = React.useRef();\n const nodeRef = React.useRef(null);\n const setMeasurements = () => {\n scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n };\n useEnhancedEffect(() => {\n const handleResize = debounce(() => {\n const prevHeight = scrollbarHeight.current;\n setMeasurements();\n if (prevHeight !== scrollbarHeight.current) {\n onChange(scrollbarHeight.current);\n }\n });\n const containerWindow = ownerWindow(nodeRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [onChange]);\n React.useEffect(() => {\n setMeasurements();\n onChange(scrollbarHeight.current);\n }, [onChange]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n style: styles,\n ref: nodeRef\n }, other));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n onChange: PropTypes.func.isRequired\n} : void 0;","// Determine if the toggle button value matches, or is contained in, the\n// candidate group value.\nexport default function isValueSelected(value, candidate) {\n if (candidate === undefined || value === undefined) {\n return false;\n }\n if (Array.isArray(candidate)) {\n return candidate.indexOf(value) >= 0;\n }\n return value === candidate;\n}","'use client';\n\n// @inheritedComponent ButtonBase\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"value\"],\n _excluded2 = [\"children\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"onChange\", \"onClick\", \"selected\", \"size\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport resolveProps from '@mui/utils/resolveProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '../styles';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport toggleButtonClasses, { getToggleButtonUtilityClass } from './toggleButtonClasses';\nimport ToggleButtonGroupContext from '../ToggleButtonGroup/ToggleButtonGroupContext';\nimport ToggleButtonGroupButtonContext from '../ToggleButtonGroup/ToggleButtonGroupButtonContext';\nimport isValueSelected from '../ToggleButtonGroup/isValueSelected';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n fullWidth,\n selected,\n disabled,\n size,\n color\n } = ownerState;\n const slots = {\n root: ['root', selected && 'selected', disabled && 'disabled', fullWidth && 'fullWidth', `size${capitalize(size)}`, color]\n };\n return composeClasses(slots, getToggleButtonUtilityClass, classes);\n};\nconst ToggleButtonRoot = styled(ButtonBase, {\n name: 'MuiToggleButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n let selectedColor = ownerState.color === 'standard' ? theme.palette.text.primary : theme.palette[ownerState.color].main;\n let selectedColorChannel;\n if (theme.vars) {\n selectedColor = ownerState.color === 'standard' ? theme.vars.palette.text.primary : theme.vars.palette[ownerState.color].main;\n selectedColorChannel = ownerState.color === 'standard' ? theme.vars.palette.text.primaryChannel : theme.vars.palette[ownerState.color].mainChannel;\n }\n return _extends({}, theme.typography.button, {\n borderRadius: (theme.vars || theme).shape.borderRadius,\n padding: 11,\n border: `1px solid ${(theme.vars || theme).palette.divider}`,\n color: (theme.vars || theme).palette.action.active\n }, ownerState.fullWidth && {\n width: '100%'\n }, {\n [`&.${toggleButtonClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled,\n border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`\n },\n '&:hover': {\n textDecoration: 'none',\n // Reset on mouse devices\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${toggleButtonClasses.selected}`]: {\n color: selectedColor,\n backgroundColor: theme.vars ? `rgba(${selectedColorChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(selectedColor, theme.palette.action.selectedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${selectedColorChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(selectedColor, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${selectedColorChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(selectedColor, theme.palette.action.selectedOpacity)\n }\n }\n }\n }, ownerState.size === 'small' && {\n padding: 7,\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && {\n padding: 15,\n fontSize: theme.typography.pxToRem(15)\n });\n});\nconst ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(inProps, ref) {\n // props priority: `inProps` > `contextProps` > `themeDefaultProps`\n const _React$useContext = React.useContext(ToggleButtonGroupContext),\n {\n value: contextValue\n } = _React$useContext,\n contextProps = _objectWithoutPropertiesLoose(_React$useContext, _excluded);\n const toggleButtonGroupButtonContextPositionClassName = React.useContext(ToggleButtonGroupButtonContext);\n const resolvedProps = resolveProps(_extends({}, contextProps, {\n selected: isValueSelected(inProps.value, contextValue)\n }), inProps);\n const props = useDefaultProps({\n props: resolvedProps,\n name: 'MuiToggleButton'\n });\n const {\n children,\n className,\n color = 'standard',\n disabled = false,\n disableFocusRipple = false,\n fullWidth = false,\n onChange,\n onClick,\n selected,\n size = 'medium',\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const ownerState = _extends({}, props, {\n color,\n disabled,\n disableFocusRipple,\n fullWidth,\n size\n });\n const classes = useUtilityClasses(ownerState);\n const handleChange = event => {\n if (onClick) {\n onClick(event, value);\n if (event.defaultPrevented) {\n return;\n }\n }\n if (onChange) {\n onChange(event, value);\n }\n };\n const positionClassName = toggleButtonGroupButtonContextPositionClassName || '';\n return /*#__PURE__*/_jsx(ToggleButtonRoot, _extends({\n className: clsx(contextProps.className, classes.root, className, positionClassName),\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n ref: ref,\n onClick: handleChange,\n onChange: onChange,\n value: value,\n ownerState: ownerState,\n \"aria-pressed\": selected\n }, other, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ToggleButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the button when it is in an active state.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'standard'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['standard', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * Callback fired when the state changes.\n *\n * @param {React.MouseEvent} event The event source of the callback.\n * @param {any} value of the selected button.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the button is clicked.\n *\n * @param {React.MouseEvent} event The event source of the callback.\n * @param {any} value of the selected button.\n */\n onClick: PropTypes.func,\n /**\n * If `true`, the button is rendered in an active state.\n */\n selected: PropTypes.bool,\n /**\n * The size of the component.\n * The prop defaults to the value inherited from the parent ToggleButtonGroup component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value to associate with the button when selected in a\n * ToggleButtonGroup.\n */\n value: PropTypes /* @typescript-to-proptypes-ignore */.any.isRequired\n} : void 0;\nexport default ToggleButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getToggleButtonUtilityClass(slot) {\n return generateUtilityClass('MuiToggleButton', slot);\n}\nconst toggleButtonClasses = generateUtilityClasses('MuiToggleButton', ['root', 'disabled', 'selected', 'standard', 'primary', 'secondary', 'sizeSmall', 'sizeMedium', 'sizeLarge', 'fullWidth']);\nexport default toggleButtonClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getToggleButtonGroupUtilityClass(slot) {\n return generateUtilityClass('MuiToggleButtonGroup', slot);\n}\nconst toggleButtonGroupClasses = generateUtilityClasses('MuiToggleButtonGroup', ['root', 'selected', 'horizontal', 'vertical', 'disabled', 'grouped', 'groupedHorizontal', 'groupedVertical', 'fullWidth', 'firstButton', 'lastButton', 'middleButton']);\nexport default toggleButtonGroupClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"disabled\", \"exclusive\", \"fullWidth\", \"onChange\", \"orientation\", \"size\", \"value\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport getValidReactChildren from '@mui/utils/getValidReactChildren';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport toggleButtonGroupClasses, { getToggleButtonGroupUtilityClass } from './toggleButtonGroupClasses';\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext';\nimport ToggleButtonGroupButtonContext from './ToggleButtonGroupButtonContext';\nimport toggleButtonClasses from '../ToggleButton/toggleButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n fullWidth,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', orientation === 'vertical' && 'vertical', fullWidth && 'fullWidth'],\n grouped: ['grouped', `grouped${capitalize(orientation)}`, disabled && 'disabled'],\n firstButton: ['firstButton'],\n lastButton: ['lastButton'],\n middleButton: ['middleButton']\n };\n return composeClasses(slots, getToggleButtonGroupUtilityClass, classes);\n};\nconst ToggleButtonGroupRoot = styled('div', {\n name: 'MuiToggleButtonGroup',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${toggleButtonGroupClasses.grouped}`]: styles.grouped\n }, {\n [`& .${toggleButtonGroupClasses.grouped}`]: styles[`grouped${capitalize(ownerState.orientation)}`]\n }, {\n [`& .${toggleButtonGroupClasses.firstButton}`]: styles.firstButton\n }, {\n [`& .${toggleButtonGroupClasses.lastButton}`]: styles.lastButton\n }, {\n [`& .${toggleButtonGroupClasses.middleButton}`]: styles.middleButton\n }, styles.root, ownerState.orientation === 'vertical' && styles.vertical, ownerState.fullWidth && styles.fullWidth];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n display: 'inline-flex',\n borderRadius: (theme.vars || theme).shape.borderRadius\n}, ownerState.orientation === 'vertical' && {\n flexDirection: 'column'\n}, ownerState.fullWidth && {\n width: '100%'\n}, {\n [`& .${toggleButtonGroupClasses.grouped}`]: _extends({}, ownerState.orientation === 'horizontal' ? {\n [`&.${toggleButtonGroupClasses.selected} + .${toggleButtonGroupClasses.grouped}.${toggleButtonGroupClasses.selected}`]: {\n borderLeft: 0,\n marginLeft: 0\n }\n } : {\n [`&.${toggleButtonGroupClasses.selected} + .${toggleButtonGroupClasses.grouped}.${toggleButtonGroupClasses.selected}`]: {\n borderTop: 0,\n marginTop: 0\n }\n })\n}, ownerState.orientation === 'horizontal' ? {\n [`& .${toggleButtonGroupClasses.firstButton},& .${toggleButtonGroupClasses.middleButton}`]: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n },\n [`& .${toggleButtonGroupClasses.lastButton},& .${toggleButtonGroupClasses.middleButton}`]: {\n marginLeft: -1,\n borderLeft: '1px solid transparent',\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n }\n} : {\n [`& .${toggleButtonGroupClasses.firstButton},& .${toggleButtonGroupClasses.middleButton}`]: {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n },\n [`& .${toggleButtonGroupClasses.lastButton},& .${toggleButtonGroupClasses.middleButton}`]: {\n marginTop: -1,\n borderTop: '1px solid transparent',\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0\n }\n}, ownerState.orientation === 'horizontal' ? {\n [`& .${toggleButtonGroupClasses.lastButton}.${toggleButtonClasses.disabled},& .${toggleButtonGroupClasses.middleButton}.${toggleButtonClasses.disabled}`]: {\n borderLeft: '1px solid transparent'\n }\n} : {\n [`& .${toggleButtonGroupClasses.lastButton}.${toggleButtonClasses.disabled},& .${toggleButtonGroupClasses.middleButton}.${toggleButtonClasses.disabled}`]: {\n borderTop: '1px solid transparent'\n }\n}));\nconst ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGroup(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiToggleButtonGroup'\n });\n const {\n children,\n className,\n color = 'standard',\n disabled = false,\n exclusive = false,\n fullWidth = false,\n onChange,\n orientation = 'horizontal',\n size = 'medium',\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n fullWidth,\n orientation,\n size\n });\n const classes = useUtilityClasses(ownerState);\n const handleChange = React.useCallback((event, buttonValue) => {\n if (!onChange) {\n return;\n }\n const index = value && value.indexOf(buttonValue);\n let newValue;\n if (value && index >= 0) {\n newValue = value.slice();\n newValue.splice(index, 1);\n } else {\n newValue = value ? value.concat(buttonValue) : [buttonValue];\n }\n onChange(event, newValue);\n }, [onChange, value]);\n const handleExclusiveChange = React.useCallback((event, buttonValue) => {\n if (!onChange) {\n return;\n }\n onChange(event, value === buttonValue ? null : buttonValue);\n }, [onChange, value]);\n const context = React.useMemo(() => ({\n className: classes.grouped,\n onChange: exclusive ? handleExclusiveChange : handleChange,\n value,\n size,\n fullWidth,\n color,\n disabled\n }), [classes.grouped, exclusive, handleExclusiveChange, handleChange, value, size, fullWidth, color, disabled]);\n const validChildren = getValidReactChildren(children);\n const childrenCount = validChildren.length;\n const getButtonPositionClassName = index => {\n const isFirstButton = index === 0;\n const isLastButton = index === childrenCount - 1;\n if (isFirstButton && isLastButton) {\n return '';\n }\n if (isFirstButton) {\n return classes.firstButton;\n }\n if (isLastButton) {\n return classes.lastButton;\n }\n return classes.middleButton;\n };\n return /*#__PURE__*/_jsx(ToggleButtonGroupRoot, _extends({\n role: \"group\",\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(ToggleButtonGroupContext.Provider, {\n value: context,\n children: validChildren.map((child, index) => {\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The ToggleButtonGroup component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(ToggleButtonGroupButtonContext.Provider, {\n value: getButtonPositionClassName(index),\n children: child\n }, index);\n })\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ToggleButtonGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the button when it is selected.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'standard'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['standard', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the component is disabled. This implies that all ToggleButton children will be disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, only allow one of the child ToggleButton values to be selected.\n * @default false\n */\n exclusive: PropTypes.bool,\n /**\n * If `true`, the button group will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * Callback fired when the value changes.\n *\n * @param {React.MouseEvent} event The event source of the callback.\n * @param {any} value of the selected buttons. When `exclusive` is true\n * this is a single value; when false an array of selected values. If no value\n * is selected and `exclusive` is true the value is null; when false an empty array.\n */\n onChange: PropTypes.func,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The currently selected value within the group or an array of selected\n * values when `exclusive` is false.\n *\n * The value must have reference equality with the option in order to be selected.\n */\n value: PropTypes.any\n} : void 0;\nexport default ToggleButtonGroup;","import * as React from 'react';\n\n/**\n * Gets only the valid children of a component,\n * and ignores any nullish or falsy child.\n *\n * @param children the children\n */\nexport default function getValidReactChildren(children) {\n return React.Children.toArray(children).filter(child => /*#__PURE__*/React.isValidElement(child));\n}","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ToggleButtonGroupButtonContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n ToggleButtonGroupButtonContext.displayName = 'ToggleButtonGroupButtonContext';\n}\nexport default ToggleButtonGroupButtonContext;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ToggleButtonGroupContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ToggleButtonGroupContext.displayName = 'ToggleButtonGroupContext';\n}\nexport default ToggleButtonGroupContext;","'use client';\n\nimport systemUseThemeProps from '@mui/system/useThemeProps';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useThemeProps({\n props,\n name\n}) {\n return systemUseThemeProps({\n props,\n name,\n defaultTheme,\n themeId: THEME_ID\n });\n}","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nimport styledEngineStyled, { internal_processStyles as processStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from './createTheme';\nimport styleFunctionSx from './styleFunctionSx';\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport const systemDefaultTheme = createTheme();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle(_extends({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, _extends({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = _objectWithoutPropertiesLoose(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props(_extends({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style(_extends({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return styleFunctionSx(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n processStyles(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = _objectWithoutPropertiesLoose(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, _extends({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || isPlainObject(stylesArg)) {\n return props => processStyleArg(stylesArg, _extends({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, _extends({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, _extends({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${capitalize(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${getDisplayName(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","import createStyled from './createStyled';\nconst styled = createStyled();\nexport default styled;","'use client';\n\nimport getThemeProps from './getThemeProps';\nimport useTheme from '../useTheme';\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n const mergedProps = getThemeProps({\n theme,\n name,\n props\n });\n return mergedProps;\n}","import PropTypes from 'prop-types';\nconst refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\nexport default refType;","const visuallyHidden = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n};\nexport default visuallyHidden;","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of milliseconds to be added.\n *\n * @returns The new date with the milliseconds added\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport function addMilliseconds(date, amount) {\n const timestamp = +toDate(date);\n return constructFrom(date, timestamp + amount);\n}\n\n// Fallback for modularized imports:\nexport default addMilliseconds;\n","import { addMilliseconds } from \"./addMilliseconds.mjs\";\n\n/**\n * @name addSeconds\n * @category Second Helpers\n * @summary Add the specified number of seconds to the given date.\n *\n * @description\n * Add the specified number of seconds to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of seconds to be added.\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add 30 seconds to 10 July 2014 12:45:00:\n * const result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30)\n * //=> Thu Jul 10 2014 12:45:30\n */\nexport function addSeconds(date, amount) {\n return addMilliseconds(date, amount * 1000);\n}\n\n// Fallback for modularized imports:\nexport default addSeconds;\n","import { addMilliseconds } from \"./addMilliseconds.mjs\";\nimport { millisecondsInMinute } from \"./constants.mjs\";\n\n/**\n * @name addMinutes\n * @category Minute Helpers\n * @summary Add the specified number of minutes to the given date.\n *\n * @description\n * Add the specified number of minutes to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of minutes to be added.\n *\n * @returns The new date with the minutes added\n *\n * @example\n * // Add 30 minutes to 10 July 2014 12:00:00:\n * const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 12:30:00\n */\nexport function addMinutes(date, amount) {\n return addMilliseconds(date, amount * millisecondsInMinute);\n}\n\n// Fallback for modularized imports:\nexport default addMinutes;\n","import { addMilliseconds } from \"./addMilliseconds.mjs\";\nimport { millisecondsInHour } from \"./constants.mjs\";\n\n/**\n * @name addHours\n * @category Hour Helpers\n * @summary Add the specified number of hours to the given date.\n *\n * @description\n * Add the specified number of hours to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of hours to be added.\n *\n * @returns The new date with the hours added\n *\n * @example\n * // Add 2 hours to 10 July 2014 23:00:00:\n * const result = addHours(new Date(2014, 6, 10, 23, 0), 2)\n * //=> Fri Jul 11 2014 01:00:00\n */\nexport function addHours(date, amount) {\n return addMilliseconds(date, amount * millisecondsInHour);\n}\n\n// Fallback for modularized imports:\nexport default addHours;\n","import { addDays } from \"./addDays.mjs\";\n\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be added.\n *\n * @returns The new date with the weeks added\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport function addWeeks(date, amount) {\n const days = amount * 7;\n return addDays(date, days);\n}\n\n// Fallback for modularized imports:\nexport default addWeeks;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be added.\n *\n * @returns The new date with the months added\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n *\n * // Add one month to 30 January 2023:\n * const result = addMonths(new Date(2023, 0, 30), 1)\n * //=> Tue Feb 28 2023 00:00:00\n */\nexport function addMonths(date, amount) {\n const _date = toDate(date);\n if (isNaN(amount)) return constructFrom(date, NaN);\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n const dayOfMonth = _date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n const endOfDesiredMonth = constructFrom(date, _date.getTime());\n endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n _date.setFullYear(\n endOfDesiredMonth.getFullYear(),\n endOfDesiredMonth.getMonth(),\n dayOfMonth,\n );\n return _date;\n }\n}\n\n// Fallback for modularized imports:\nexport default addMonths;\n","import { addMonths } from \"./addMonths.mjs\";\n\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of years to be added.\n *\n * @returns The new date with the years added\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\nexport function addYears(date, amount) {\n return addMonths(date, amount * 12);\n}\n\n// Fallback for modularized imports:\nexport default addYears;\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link endOfWeek} function options.\n */\n\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The end of a week\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport function endOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n\n _date.setDate(_date.getDate() + diff);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfWeek;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfYear\n * @category Year Helpers\n * @summary Return the end of a year for the given date.\n *\n * @description\n * Return the end of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a year\n *\n * @example\n * // The end of a year for 2 September 2014 11:55:00:\n * const result = endOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 23:59:59.999\n */\nexport function endOfYear(date) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n _date.setFullYear(year + 1, 0, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDate\n * @category Day Helpers\n * @summary Get the day of the month of the given date.\n *\n * @description\n * Get the day of the month of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of month\n *\n * @example\n * // Which day of the month is 29 February 2012?\n * const result = getDate(new Date(2012, 1, 29))\n * //=> 29\n */\nexport function getDate(date) {\n const _date = toDate(date);\n const dayOfMonth = _date.getDate();\n return dayOfMonth;\n}\n\n// Fallback for modularized imports:\nexport default getDate;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The number of days in a month\n *\n * @example\n * // How many days are in February 2000?\n * const result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\nexport function getDaysInMonth(date) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n const monthIndex = _date.getMonth();\n const lastDayOfMonth = constructFrom(date, 0);\n lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}\n\n// Fallback for modularized imports:\nexport default getDaysInMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getHours\n * @category Hour Helpers\n * @summary Get the hours of the given date.\n *\n * @description\n * Get the hours of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The hours\n *\n * @example\n * // Get the hours of 29 February 2012 11:45:00:\n * const result = getHours(new Date(2012, 1, 29, 11, 45))\n * //=> 11\n */\nexport function getHours(date) {\n const _date = toDate(date);\n const hours = _date.getHours();\n return hours;\n}\n\n// Fallback for modularized imports:\nexport default getHours;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getMinutes\n * @category Minute Helpers\n * @summary Get the minutes of the given date.\n *\n * @description\n * Get the minutes of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The minutes\n *\n * @example\n * // Get the minutes of 29 February 2012 11:45:05:\n * const result = getMinutes(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 45\n */\nexport function getMinutes(date) {\n const _date = toDate(date);\n const minutes = _date.getMinutes();\n return minutes;\n}\n\n// Fallback for modularized imports:\nexport default getMinutes;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getMonth\n * @category Month Helpers\n * @summary Get the month of the given date.\n *\n * @description\n * Get the month of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The month index (0-11)\n *\n * @example\n * // Which month is 29 February 2012?\n * const result = getMonth(new Date(2012, 1, 29))\n * //=> 1\n */\nexport function getMonth(date) {\n const _date = toDate(date);\n const month = _date.getMonth();\n return month;\n}\n\n// Fallback for modularized imports:\nexport default getMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getSeconds\n * @category Second Helpers\n * @summary Get the seconds of the given date.\n *\n * @description\n * Get the seconds of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The seconds\n *\n * @example\n * // Get the seconds of 29 February 2012 11:45:05.123:\n * const result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 5\n */\nexport function getSeconds(date) {\n const _date = toDate(date);\n const seconds = _date.getSeconds();\n return seconds;\n}\n\n// Fallback for modularized imports:\nexport default getSeconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getMilliseconds\n * @category Millisecond Helpers\n * @summary Get the milliseconds of the given date.\n *\n * @description\n * Get the milliseconds of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The milliseconds\n *\n * @example\n * // Get the milliseconds of 29 February 2012 11:45:05.123:\n * const result = getMilliseconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 123\n */\nexport function getMilliseconds(date) {\n const _date = toDate(date);\n const milliseconds = _date.getMilliseconds();\n return milliseconds;\n}\n\n// Fallback for modularized imports:\nexport default getMilliseconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getYear\n * @category Year Helpers\n * @summary Get the year of the given date.\n *\n * @description\n * Get the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The year\n *\n * @example\n * // Which year is 2 July 2014?\n * const result = getYear(new Date(2014, 6, 2))\n * //=> 2014\n */\nexport function getYear(date) {\n return toDate(date).getFullYear();\n}\n\n// Fallback for modularized imports:\nexport default getYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date that should be after the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is after the second date\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport function isAfter(date, dateToCompare) {\n const _date = toDate(date);\n const _dateToCompare = toDate(dateToCompare);\n return _date.getTime() > _dateToCompare.getTime();\n}\n\n// Fallback for modularized imports:\nexport default isAfter;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date that should be before the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is before the second date\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport function isBefore(date, dateToCompare) {\n const _date = toDate(date);\n const _dateToCompare = toDate(dateToCompare);\n return +_date < +_dateToCompare;\n}\n\n// Fallback for modularized imports:\nexport default isBefore;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The dates are equal\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport function isEqual(leftDate, rightDate) {\n const _dateLeft = toDate(leftDate);\n const _dateRight = toDate(rightDate);\n return +_dateLeft === +_dateRight;\n}\n\n// Fallback for modularized imports:\nexport default isEqual;\n","import { startOfDay } from \"./startOfDay.mjs\";\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(dateLeft, dateRight) {\n const dateLeftStartOfDay = startOfDay(dateLeft);\n const dateRightStartOfDay = startOfDay(dateRight);\n\n return +dateLeftStartOfDay === +dateRightStartOfDay;\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n *\n * @returns The dates are in the same year\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\nexport function isSameYear(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n return _dateLeft.getFullYear() === _dateRight.getFullYear();\n}\n\n// Fallback for modularized imports:\nexport default isSameYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month (and year)?\n *\n * @description\n * Are the given dates in the same month (and year)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n *\n * @returns The dates are in the same month (and year)\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n *\n * @example\n * // Are 2 September 2014 and 25 September 2015 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))\n * //=> false\n */\nexport function isSameMonth(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n return (\n _dateLeft.getFullYear() === _dateRight.getFullYear() &&\n _dateLeft.getMonth() === _dateRight.getMonth()\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfHour\n * @category Hour Helpers\n * @summary Return the start of an hour for the given date.\n *\n * @description\n * Return the start of an hour for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an hour\n *\n * @example\n * // The start of an hour for 2 September 2014 11:55:00:\n * const result = startOfHour(new Date(2014, 8, 2, 11, 55))\n * //=> Tue Sep 02 2014 11:00:00\n */\nexport function startOfHour(date) {\n const _date = toDate(date);\n _date.setMinutes(0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfHour;\n","import { startOfHour } from \"./startOfHour.mjs\";\n\n/**\n * @name isSameHour\n * @category Hour Helpers\n * @summary Are the given dates in the same hour (and same day)?\n *\n * @description\n * Are the given dates in the same hour (and same day)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n *\n * @returns The dates are in the same hour (and same day)\n *\n * @example\n * // Are 4 September 2014 06:00:00 and 4 September 06:30:00 in the same hour?\n * const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 6, 30))\n * //=> true\n *\n * @example\n * // Are 4 September 2014 06:00:00 and 5 September 06:00:00 in the same hour?\n * const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 5, 6, 0))\n * //=> false\n */\nexport function isSameHour(dateLeft, dateRight) {\n const dateLeftStartOfHour = startOfHour(dateLeft);\n const dateRightStartOfHour = startOfHour(dateRight);\n\n return +dateLeftStartOfHour === +dateRightStartOfHour;\n}\n\n// Fallback for modularized imports:\nexport default isSameHour;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setDate\n * @category Day Helpers\n * @summary Set the day of the month to the given date.\n *\n * @description\n * Set the day of the month to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param dayOfMonth - The day of the month of the new date\n *\n * @returns The new date with the day of the month set\n *\n * @example\n * // Set the 30th day of the month to 1 September 2014:\n * const result = setDate(new Date(2014, 8, 1), 30)\n * //=> Tue Sep 30 2014 00:00:00\n */\nexport function setDate(date, dayOfMonth) {\n const _date = toDate(date);\n _date.setDate(dayOfMonth);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setDate;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param hours - The hours of the new date\n *\n * @returns The new date with the hours set\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport function setHours(date, hours) {\n const _date = toDate(date);\n _date.setHours(hours);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setHours;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param minutes - The minutes of the new date\n *\n * @returns The new date with the minutes set\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport function setMinutes(date, minutes) {\n const _date = toDate(date);\n _date.setMinutes(minutes);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setMinutes;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getDaysInMonth } from \"./getDaysInMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setMonth\n * @category Month Helpers\n * @summary Set the month to the given date.\n *\n * @description\n * Set the month to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param month - The month index to set (0-11)\n *\n * @returns The new date with the month set\n *\n * @example\n * // Set February to 1 September 2014:\n * const result = setMonth(new Date(2014, 8, 1), 1)\n * //=> Sat Feb 01 2014 00:00:00\n */\nexport function setMonth(date, month) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n const day = _date.getDate();\n\n const dateWithDesiredMonth = constructFrom(date, 0);\n dateWithDesiredMonth.setFullYear(year, month, 15);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n const daysInMonth = getDaysInMonth(dateWithDesiredMonth);\n // Set the last day of the new month\n // if the original date was the last day of the longer month\n _date.setMonth(month, Math.min(day, daysInMonth));\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param seconds - The seconds of the new date\n *\n * @returns The new date with the seconds set\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\nexport function setSeconds(date, seconds) {\n const _date = toDate(date);\n _date.setSeconds(seconds);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setSeconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setMilliseconds\n * @category Millisecond Helpers\n * @summary Set the milliseconds to the given date.\n *\n * @description\n * Set the milliseconds to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param milliseconds - The milliseconds of the new date\n *\n * @returns The new date with the milliseconds set\n *\n * @example\n * // Set 300 milliseconds to 1 September 2014 11:30:40.500:\n * const result = setMilliseconds(new Date(2014, 8, 1, 11, 30, 40, 500), 300)\n * //=> Mon Sep 01 2014 11:30:40.300\n */\nexport function setMilliseconds(date, milliseconds) {\n const _date = toDate(date);\n _date.setMilliseconds(milliseconds);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setMilliseconds;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setYear\n * @category Year Helpers\n * @summary Set the year to the given date.\n *\n * @description\n * Set the year to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param year - The year of the new date\n *\n * @returns The new date with the year set\n *\n * @example\n * // Set year 2013 to 1 September 2014:\n * const result = setYear(new Date(2014, 8, 1), 2013)\n * //=> Sun Sep 01 2013 00:00:00\n */\nexport function setYear(date, year) {\n const _date = toDate(date);\n\n // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n if (isNaN(+_date)) {\n return constructFrom(date, NaN);\n }\n\n _date.setFullYear(year);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a month\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfMonth(date) {\n const _date = toDate(date);\n _date.setDate(1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval? (Including start and end.)\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n * @param interval - The interval to check\n *\n * @returns The date is within the interval\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> false\n *\n * @example\n * // For date equal to interval start:\n * isWithinInterval(date, { start, end: date })\n * // => true\n *\n * @example\n * // For date equal to interval end:\n * isWithinInterval(date, { start: date, end })\n * // => true\n */\nexport function isWithinInterval(date, interval) {\n const time = +toDate(date);\n const [startTime, endTime] = [\n +toDate(interval.start),\n +toDate(interval.end),\n ].sort((a, b) => a - b);\n\n return time >= startTime && time <= endTime;\n}\n\n// Fallback for modularized imports:\nexport default isWithinInterval;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/* eslint-disable class-methods-use-this */\n\nconst formatTokenMap = {\n // Year\n y: {\n sectionType: 'year',\n contentType: 'digit',\n maxLength: 4\n },\n yy: 'year',\n yyy: {\n sectionType: 'year',\n contentType: 'digit',\n maxLength: 4\n },\n yyyy: 'year',\n // Month\n M: {\n sectionType: 'month',\n contentType: 'digit',\n maxLength: 2\n },\n MM: 'month',\n MMMM: {\n sectionType: 'month',\n contentType: 'letter'\n },\n MMM: {\n sectionType: 'month',\n contentType: 'letter'\n },\n L: {\n sectionType: 'month',\n contentType: 'digit',\n maxLength: 2\n },\n LL: 'month',\n LLL: {\n sectionType: 'month',\n contentType: 'letter'\n },\n LLLL: {\n sectionType: 'month',\n contentType: 'letter'\n },\n // Day of the month\n d: {\n sectionType: 'day',\n contentType: 'digit',\n maxLength: 2\n },\n dd: 'day',\n do: {\n sectionType: 'day',\n contentType: 'digit-with-letter'\n },\n // Day of the week\n E: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n EE: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n EEE: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n EEEE: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n EEEEE: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n i: {\n sectionType: 'weekDay',\n contentType: 'digit',\n maxLength: 1\n },\n ii: 'weekDay',\n iii: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n iiii: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n e: {\n sectionType: 'weekDay',\n contentType: 'digit',\n maxLength: 1\n },\n ee: 'weekDay',\n eee: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n eeee: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n eeeee: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n eeeeee: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n c: {\n sectionType: 'weekDay',\n contentType: 'digit',\n maxLength: 1\n },\n cc: 'weekDay',\n ccc: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n cccc: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n ccccc: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n cccccc: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n // Meridiem\n a: 'meridiem',\n aa: 'meridiem',\n aaa: 'meridiem',\n // Hours\n H: {\n sectionType: 'hours',\n contentType: 'digit',\n maxLength: 2\n },\n HH: 'hours',\n h: {\n sectionType: 'hours',\n contentType: 'digit',\n maxLength: 2\n },\n hh: 'hours',\n // Minutes\n m: {\n sectionType: 'minutes',\n contentType: 'digit',\n maxLength: 2\n },\n mm: 'minutes',\n // Seconds\n s: {\n sectionType: 'seconds',\n contentType: 'digit',\n maxLength: 2\n },\n ss: 'seconds'\n};\nconst defaultFormats = {\n year: 'yyyy',\n month: 'LLLL',\n monthShort: 'MMM',\n dayOfMonth: 'd',\n dayOfMonthFull: 'do',\n weekday: 'EEEE',\n weekdayShort: 'EEEEEE',\n hours24h: 'HH',\n hours12h: 'hh',\n meridiem: 'aa',\n minutes: 'mm',\n seconds: 'ss',\n fullDate: 'PP',\n keyboardDate: 'P',\n shortDate: 'MMM d',\n normalDate: 'd MMMM',\n normalDateWithWeekday: 'EEE, MMM d',\n fullTime: 'p',\n fullTime12h: 'hh:mm aa',\n fullTime24h: 'HH:mm',\n keyboardDateTime: 'P p',\n keyboardDateTime12h: 'P hh:mm aa',\n keyboardDateTime24h: 'P HH:mm'\n};\n/**\n * Based on `@date-io/date-fns`\n *\n * MIT License\n *\n * Copyright (c) 2017 Dmitriy Kovalenko\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport class AdapterDateFnsBase {\n constructor(props) {\n this.isMUIAdapter = true;\n this.isTimezoneCompatible = false;\n this.lib = void 0;\n this.locale = void 0;\n this.formats = void 0;\n this.formatTokenMap = formatTokenMap;\n this.escapedCharacters = {\n start: \"'\",\n end: \"'\"\n };\n this.longFormatters = void 0;\n this.date = value => {\n if (typeof value === 'undefined') {\n return new Date();\n }\n if (value === null) {\n return null;\n }\n return new Date(value);\n };\n this.getInvalidDate = () => new Date('Invalid Date');\n this.getTimezone = () => {\n return 'default';\n };\n this.setTimezone = value => {\n return value;\n };\n this.toJsDate = value => {\n return value;\n };\n this.getCurrentLocaleCode = () => {\n // `code` is undefined only in `date-fns` types, but all locales have it\n return this.locale.code;\n };\n // Note: date-fns input types are more lenient than this adapter, so we need to expose our more\n // strict signature and delegate to the more lenient signature. Otherwise, we have downstream type errors upon usage.\n this.is12HourCycleInCurrentLocale = () => {\n return /a/.test(this.locale.formatLong.time({\n width: 'short'\n }));\n };\n this.expandFormat = format => {\n const longFormatRegexp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\n // @see https://github.com/date-fns/date-fns/blob/master/src/format/index.js#L31\n return format.match(longFormatRegexp).map(token => {\n const firstCharacter = token[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n const longFormatter = this.longFormatters[firstCharacter];\n return longFormatter(token, this.locale.formatLong);\n }\n return token;\n }).join('');\n };\n this.formatNumber = numberToFormat => {\n return numberToFormat;\n };\n this.getDayOfWeek = value => {\n return value.getDay() + 1;\n };\n const {\n locale,\n formats,\n longFormatters,\n lib\n } = props;\n this.locale = locale;\n this.formats = _extends({}, defaultFormats, formats);\n this.longFormatters = longFormatters;\n this.lib = lib || 'date-fns';\n }\n}","/* eslint-disable class-methods-use-this */\n// TODO remove when date-fns-v3 is the default\n// @ts-nocheck\nimport { addDays } from 'date-fns/addDays';\nimport { addSeconds } from 'date-fns/addSeconds';\nimport { addMinutes } from 'date-fns/addMinutes';\nimport { addHours } from 'date-fns/addHours';\nimport { addWeeks } from 'date-fns/addWeeks';\nimport { addMonths } from 'date-fns/addMonths';\nimport { addYears } from 'date-fns/addYears';\nimport { endOfDay } from 'date-fns/endOfDay';\nimport { endOfWeek } from 'date-fns/endOfWeek';\nimport { endOfYear } from 'date-fns/endOfYear';\n// @ts-ignore TODO remove when date-fns-v3 is the default\nimport { format as dateFnsFormat, longFormatters } from 'date-fns/format';\nimport { getDate } from 'date-fns/getDate';\nimport { getDaysInMonth } from 'date-fns/getDaysInMonth';\nimport { getHours } from 'date-fns/getHours';\nimport { getMinutes } from 'date-fns/getMinutes';\nimport { getMonth } from 'date-fns/getMonth';\nimport { getSeconds } from 'date-fns/getSeconds';\nimport { getMilliseconds } from 'date-fns/getMilliseconds';\nimport { getWeek } from 'date-fns/getWeek';\nimport { getYear } from 'date-fns/getYear';\nimport { isAfter } from 'date-fns/isAfter';\nimport { isBefore } from 'date-fns/isBefore';\nimport { isEqual } from 'date-fns/isEqual';\nimport { isSameDay } from 'date-fns/isSameDay';\nimport { isSameYear } from 'date-fns/isSameYear';\nimport { isSameMonth } from 'date-fns/isSameMonth';\nimport { isSameHour } from 'date-fns/isSameHour';\nimport { isValid } from 'date-fns/isValid';\nimport { parse as dateFnsParse } from 'date-fns/parse';\nimport { setDate } from 'date-fns/setDate';\nimport { setHours } from 'date-fns/setHours';\nimport { setMinutes } from 'date-fns/setMinutes';\nimport { setMonth } from 'date-fns/setMonth';\nimport { setSeconds } from 'date-fns/setSeconds';\nimport { setMilliseconds } from 'date-fns/setMilliseconds';\nimport { setYear } from 'date-fns/setYear';\nimport { startOfDay } from 'date-fns/startOfDay';\nimport { startOfMonth } from 'date-fns/startOfMonth';\nimport { endOfMonth } from 'date-fns/endOfMonth';\nimport { startOfWeek } from 'date-fns/startOfWeek';\nimport { startOfYear } from 'date-fns/startOfYear';\nimport { isWithinInterval } from 'date-fns/isWithinInterval';\nimport { enUS } from 'date-fns/locale/en-US';\n// date-fns v2 does not export types\n// @ts-ignore TODO remove when date-fns-v3 is the default\n\nimport { AdapterDateFnsBase } from '../AdapterDateFnsBase';\n/**\n * Based on `@date-io/date-fns`\n *\n * MIT License\n *\n * Copyright (c) 2017 Dmitriy Kovalenko\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport class AdapterDateFns extends AdapterDateFnsBase {\n constructor({\n locale,\n formats\n } = {}) {\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'production') {\n if (typeof addDays !== 'function') {\n throw new Error([`MUI: The \\`date-fns\\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFns` instead.'].join('\\n'));\n }\n if (!longFormatters) {\n throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');\n }\n }\n super({\n locale: locale ?? enUS,\n formats,\n longFormatters\n });\n // TODO: explicit return types can be removed once there is only one date-fns version supported\n this.parse = (value, format) => {\n if (value === '') {\n return null;\n }\n return dateFnsParse(value, format, new Date(), {\n locale: this.locale\n });\n };\n this.isValid = value => {\n if (value == null) {\n return false;\n }\n return isValid(value);\n };\n this.format = (value, formatKey) => {\n return this.formatByString(value, this.formats[formatKey]);\n };\n this.formatByString = (value, formatString) => {\n return dateFnsFormat(value, formatString, {\n locale: this.locale\n });\n };\n this.isEqual = (value, comparing) => {\n if (value === null && comparing === null) {\n return true;\n }\n if (value === null || comparing === null) {\n return false;\n }\n return isEqual(value, comparing);\n };\n this.isSameYear = (value, comparing) => {\n return isSameYear(value, comparing);\n };\n this.isSameMonth = (value, comparing) => {\n return isSameMonth(value, comparing);\n };\n this.isSameDay = (value, comparing) => {\n return isSameDay(value, comparing);\n };\n this.isSameHour = (value, comparing) => {\n return isSameHour(value, comparing);\n };\n this.isAfter = (value, comparing) => {\n return isAfter(value, comparing);\n };\n this.isAfterYear = (value, comparing) => {\n return isAfter(value, endOfYear(comparing));\n };\n this.isAfterDay = (value, comparing) => {\n return isAfter(value, endOfDay(comparing));\n };\n this.isBefore = (value, comparing) => {\n return isBefore(value, comparing);\n };\n this.isBeforeYear = (value, comparing) => {\n return isBefore(value, this.startOfYear(comparing));\n };\n this.isBeforeDay = (value, comparing) => {\n return isBefore(value, this.startOfDay(comparing));\n };\n this.isWithinRange = (value, [start, end]) => {\n return isWithinInterval(value, {\n start,\n end\n });\n };\n this.startOfYear = value => {\n return startOfYear(value);\n };\n this.startOfMonth = value => {\n return startOfMonth(value);\n };\n this.startOfWeek = value => {\n return startOfWeek(value, {\n locale: this.locale\n });\n };\n this.startOfDay = value => {\n return startOfDay(value);\n };\n this.endOfYear = value => {\n return endOfYear(value);\n };\n this.endOfMonth = value => {\n return endOfMonth(value);\n };\n this.endOfWeek = value => {\n return endOfWeek(value, {\n locale: this.locale\n });\n };\n this.endOfDay = value => {\n return endOfDay(value);\n };\n this.addYears = (value, amount) => {\n return addYears(value, amount);\n };\n this.addMonths = (value, amount) => {\n return addMonths(value, amount);\n };\n this.addWeeks = (value, amount) => {\n return addWeeks(value, amount);\n };\n this.addDays = (value, amount) => {\n return addDays(value, amount);\n };\n this.addHours = (value, amount) => {\n return addHours(value, amount);\n };\n this.addMinutes = (value, amount) => {\n return addMinutes(value, amount);\n };\n this.addSeconds = (value, amount) => {\n return addSeconds(value, amount);\n };\n this.getYear = value => {\n return getYear(value);\n };\n this.getMonth = value => {\n return getMonth(value);\n };\n this.getDate = value => {\n return getDate(value);\n };\n this.getHours = value => {\n return getHours(value);\n };\n this.getMinutes = value => {\n return getMinutes(value);\n };\n this.getSeconds = value => {\n return getSeconds(value);\n };\n this.getMilliseconds = value => {\n return getMilliseconds(value);\n };\n this.setYear = (value, year) => {\n return setYear(value, year);\n };\n this.setMonth = (value, month) => {\n return setMonth(value, month);\n };\n this.setDate = (value, date) => {\n return setDate(value, date);\n };\n this.setHours = (value, hours) => {\n return setHours(value, hours);\n };\n this.setMinutes = (value, minutes) => {\n return setMinutes(value, minutes);\n };\n this.setSeconds = (value, seconds) => {\n return setSeconds(value, seconds);\n };\n this.setMilliseconds = (value, milliseconds) => {\n return setMilliseconds(value, milliseconds);\n };\n this.getDaysInMonth = value => {\n return getDaysInMonth(value);\n };\n this.getWeekArray = value => {\n const start = this.startOfWeek(this.startOfMonth(value));\n const end = this.endOfWeek(this.endOfMonth(value));\n let count = 0;\n let current = start;\n const nestedWeeks = [];\n while (this.isBefore(current, end)) {\n const weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n nestedWeeks[weekNumber].push(current);\n current = this.addDays(current, 1);\n count += 1;\n }\n return nestedWeeks;\n };\n this.getWeekNumber = value => {\n return getWeek(value, {\n locale: this.locale\n });\n };\n this.getYearRange = ([start, end]) => {\n const startDate = this.startOfYear(start);\n const endDate = this.endOfYear(end);\n const years = [];\n let current = startDate;\n while (this.isBefore(current, endDate)) {\n years.push(current);\n current = this.addYears(current, 1);\n }\n return years;\n };\n }\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getDatePickerToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiDatePickerToolbar', slot);\n}\nexport const datePickerToolbarClasses = generateUtilityClasses('MuiDatePickerToolbar', ['root', 'title']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\", \"isLandscape\", \"onChange\", \"toolbarFormat\", \"toolbarPlaceholder\", \"views\", \"className\", \"onViewChange\", \"view\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport Typography from '@mui/material/Typography';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { PickersToolbar } from '../internals/components/PickersToolbar';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { getDatePickerToolbarUtilityClass } from './datePickerToolbarClasses';\nimport { resolveDateFormat } from '../internals/utils/date-utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n title: ['title']\n };\n return composeClasses(slots, getDatePickerToolbarUtilityClass, classes);\n};\nconst DatePickerToolbarRoot = styled(PickersToolbar, {\n name: 'MuiDatePickerToolbar',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({});\nconst DatePickerToolbarTitle = styled(Typography, {\n name: 'MuiDatePickerToolbar',\n slot: 'Title',\n overridesResolver: (_, styles) => styles.title\n})({\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n margin: 'auto 16px auto auto'\n }\n }]\n});\n/**\n * Demos:\n *\n * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)\n * - [Custom components](https://mui.com/x/react-date-pickers/custom-components/)\n *\n * API:\n *\n * - [DatePickerToolbar API](https://mui.com/x/api/date-pickers/date-picker-toolbar/)\n */\nexport const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePickerToolbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDatePickerToolbar'\n });\n const {\n value,\n isLandscape,\n toolbarFormat,\n toolbarPlaceholder = '––',\n views,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const utils = useUtils();\n const translations = usePickersTranslations();\n const classes = useUtilityClasses(props);\n const dateText = React.useMemo(() => {\n if (!value) {\n return toolbarPlaceholder;\n }\n const formatFromViews = resolveDateFormat(utils, {\n format: toolbarFormat,\n views\n }, true);\n return utils.formatByString(value, formatFromViews);\n }, [value, toolbarFormat, toolbarPlaceholder, utils, views]);\n const ownerState = props;\n return /*#__PURE__*/_jsx(DatePickerToolbarRoot, _extends({\n ref: ref,\n toolbarTitle: translations.datePickerToolbarTitle,\n isLandscape: isLandscape,\n className: clsx(classes.root, className)\n }, other, {\n children: /*#__PURE__*/_jsx(DatePickerToolbarTitle, {\n variant: \"h4\",\n align: isLandscape ? 'left' : 'center',\n ownerState: ownerState,\n className: classes.title,\n children: dateText\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DatePickerToolbar.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n /**\n * If `true`, show the toolbar even in desktop mode.\n * @default `true` for Desktop, `false` for Mobile.\n */\n hidden: PropTypes.bool,\n isLandscape: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n /**\n * Callback called when a toolbar is clicked\n * @template TView\n * @param {TView} view The view to open\n */\n onViewChange: PropTypes.func.isRequired,\n readOnly: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n titleId: PropTypes.string,\n /**\n * Toolbar date format.\n */\n toolbarFormat: PropTypes.string,\n /**\n * Toolbar value placeholder—it is displayed when the value is empty.\n * @default \"––\"\n */\n toolbarPlaceholder: PropTypes.node,\n value: PropTypes.object,\n /**\n * Currently visible picker view.\n */\n view: PropTypes.oneOf(['day', 'month', 'year']).isRequired,\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired).isRequired\n} : void 0;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useThemeProps } from '@mui/material/styles';\nimport { useDefaultDates, useUtils } from '../internals/hooks/useUtils';\nimport { applyDefaultViewProps } from '../internals/utils/views';\nimport { applyDefaultDate } from '../internals/utils/date-utils';\nimport { DatePickerToolbar } from './DatePickerToolbar';\nexport function useDatePickerDefaultizedProps(props, name) {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const themeProps = useThemeProps({\n props,\n name\n });\n const localeText = React.useMemo(() => {\n if (themeProps.localeText?.toolbarTitle == null) {\n return themeProps.localeText;\n }\n return _extends({}, themeProps.localeText, {\n datePickerToolbarTitle: themeProps.localeText.toolbarTitle\n });\n }, [themeProps.localeText]);\n return _extends({}, themeProps, {\n localeText\n }, applyDefaultViewProps({\n views: themeProps.views,\n openTo: themeProps.openTo,\n defaultViews: ['year', 'day'],\n defaultOpenTo: 'day'\n }), {\n disableFuture: themeProps.disableFuture ?? false,\n disablePast: themeProps.disablePast ?? false,\n minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate),\n slots: _extends({\n toolbar: DatePickerToolbar\n }, themeProps.slots)\n });\n}","import { applyDefaultDate } from '../date-utils';\nexport const validateDate = ({\n props,\n value,\n adapter\n}) => {\n if (value === null) {\n return null;\n }\n const {\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n disablePast,\n disableFuture,\n timezone\n } = props;\n const now = adapter.utils.date(undefined, timezone);\n const minDate = applyDefaultDate(adapter.utils, props.minDate, adapter.defaultDates.minDate);\n const maxDate = applyDefaultDate(adapter.utils, props.maxDate, adapter.defaultDates.maxDate);\n switch (true) {\n case !adapter.utils.isValid(value):\n return 'invalidDate';\n case Boolean(shouldDisableDate && shouldDisableDate(value)):\n return 'shouldDisableDate';\n case Boolean(shouldDisableMonth && shouldDisableMonth(value)):\n return 'shouldDisableMonth';\n case Boolean(shouldDisableYear && shouldDisableYear(value)):\n return 'shouldDisableYear';\n case Boolean(disableFuture && adapter.utils.isAfterDay(value, now)):\n return 'disableFuture';\n case Boolean(disablePast && adapter.utils.isBeforeDay(value, now)):\n return 'disablePast';\n case Boolean(minDate && adapter.utils.isBeforeDay(value, minDate)):\n return 'minDate';\n case Boolean(maxDate && adapter.utils.isAfterDay(value, maxDate)):\n return 'maxDate';\n default:\n return null;\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"slots\", \"slotProps\", \"InputProps\", \"inputProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport MuiTextField from '@mui/material/TextField';\nimport { useThemeProps } from '@mui/material/styles';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { refType } from '@mui/utils';\nimport { useDateField } from './useDateField';\nimport { useClearableField } from '../hooks';\nimport { PickersTextField } from '../PickersTextField';\nimport { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Demos:\n *\n * - [DateField](http://mui.com/x/react-date-pickers/date-field/)\n * - [Fields](https://mui.com/x/react-date-pickers/fields/)\n *\n * API:\n *\n * - [DateField API](https://mui.com/x/api/date-pickers/date-field/)\n */\nconst DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRef) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiDateField'\n });\n const {\n slots,\n slotProps,\n InputProps,\n inputProps\n } = themeProps,\n other = _objectWithoutPropertiesLoose(themeProps, _excluded);\n const ownerState = themeProps;\n const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);\n const textFieldProps = useSlotProps({\n elementType: TextField,\n externalSlotProps: slotProps?.textField,\n externalForwardedProps: other,\n additionalProps: {\n ref: inRef\n },\n ownerState\n });\n\n // TODO: Remove when mui/material-ui#35088 will be merged\n textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);\n textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);\n const fieldResponse = useDateField(textFieldProps);\n const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);\n const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {\n slots,\n slotProps\n }));\n return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));\n});\nprocess.env.NODE_ENV !== \"production\" ? DateField.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * If `true`, the `input` element is focused during the first mount.\n * @default false\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * If `true`, a clear button will be shown in the field allowing value clearing.\n * @default false\n */\n clearable: PropTypes.bool,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),\n component: PropTypes.elementType,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * @default false\n */\n enableAccessibleFieldDOMStructure: PropTypes.bool,\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: PropTypes.bool,\n /**\n * Format of the date when rendered in the input(s).\n */\n format: PropTypes.string,\n /**\n * Density of the format when rendered in the input.\n * Setting `formatDensity` to `\"spacious\"` will add a space before and after each `/`, `-` and `.` character.\n * @default \"dense\"\n */\n formatDensity: PropTypes.oneOf(['dense', 'spacious']),\n /**\n * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.\n */\n FormHelperTextProps: PropTypes.object,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * The id of the `input` element.\n * Use this prop to make `label` and `helperText` accessible for screen readers.\n */\n id: PropTypes.string,\n /**\n * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.\n * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.\n */\n InputLabelProps: PropTypes.object,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](/material-ui/api/filled-input/),\n * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)\n * component depending on the `variant` prop value.\n */\n InputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the clear button is clicked.\n */\n onClear: PropTypes.func,\n /**\n * Callback fired when the error associated to the current value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TError} error The new error.\n * @param {TValue} value The value associated to the error.\n */\n onError: PropTypes.func,\n onFocus: PropTypes.func,\n /**\n * Callback fired when the selected sections change.\n * @param {FieldSelectedSections} newValue The new selected sections.\n */\n onSelectedSectionsChange: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate a part of the new value that is not present in the format when both `value` and `defaultValue` are empty.\n * For example, on time fields it will be used to determine the date to set.\n * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.\n */\n referenceDate: PropTypes.object,\n /**\n * If `true`, the label is displayed as required and the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The currently selected sections.\n * This prop accepts four formats:\n * 1. If a number is provided, the section at this index will be selected.\n * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.\n * 3. If `\"all\"` is provided, all the sections will be selected.\n * 4. If `null` is provided, no section will be selected.\n * If not provided, the selected sections will be handled internally.\n */\n selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),\n /**\n * Disable specific date.\n *\n * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.\n *\n * @template TDate\n * @param {TDate} day The date to test.\n * @returns {boolean} If `true` the date will be disabled.\n */\n shouldDisableDate: PropTypes.func,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)\n * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)\n *\n * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: \"DD\"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.\n *\n * Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.\n * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\\u200e/g, '')`.\n *\n * Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.\n * This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.\n *\n * @default false\n */\n shouldRespectLeadingZeros: PropTypes.bool,\n /**\n * The size of the component.\n */\n size: PropTypes.oneOf(['medium', 'small']),\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The ref object used to imperatively interact with the field.\n */\n unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport { DateField };","import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';\nimport { useField } from '../internals/hooks/useField';\nimport { validateDate } from '../internals/utils/validation/validateDate';\nimport { splitFieldInternalAndForwardedProps } from '../internals/utils/fields';\nimport { useDefaultizedDateField } from '../internals/hooks/defaultizedFieldProps';\nexport const useDateField = inProps => {\n const props = useDefaultizedDateField(inProps);\n const {\n forwardedProps,\n internalProps\n } = splitFieldInternalAndForwardedProps(props, 'date');\n return useField({\n forwardedProps,\n internalProps,\n valueManager: singleItemValueManager,\n fieldValueManager: singleItemFieldValueManager,\n validator: validateDate,\n valueType: 'date'\n });\n};","import * as React from 'react';\nimport { validateDate } from '../internals/utils/validation/validateDate';\nimport { useLocalizationContext } from '../internals/hooks/useUtils';\nexport const useIsDateDisabled = ({\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n minDate,\n maxDate,\n disableFuture,\n disablePast,\n timezone\n}) => {\n const adapter = useLocalizationContext();\n return React.useCallback(day => validateDate({\n adapter,\n value: day,\n props: {\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n minDate,\n maxDate,\n disableFuture,\n disablePast,\n timezone\n }\n }) !== null, [adapter, shouldDisableDate, shouldDisableMonth, shouldDisableYear, minDate, maxDate, disableFuture, disablePast, timezone]);\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useIsDateDisabled } from './useIsDateDisabled';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { SECTION_TYPE_GRANULARITY } from '../internals/utils/getDefaultReferenceDate';\nexport const createCalendarStateReducer = (reduceAnimations, disableSwitchToMonthOnDayFocus, utils) => (state, action) => {\n switch (action.type) {\n case 'changeMonth':\n return _extends({}, state, {\n slideDirection: action.direction,\n currentMonth: action.newMonth,\n isMonthSwitchingAnimating: !reduceAnimations\n });\n case 'finishMonthSwitchingAnimation':\n return _extends({}, state, {\n isMonthSwitchingAnimating: false\n });\n case 'changeFocusedDay':\n {\n if (state.focusedDay != null && action.focusedDay != null && utils.isSameDay(action.focusedDay, state.focusedDay)) {\n return state;\n }\n const needMonthSwitch = action.focusedDay != null && !disableSwitchToMonthOnDayFocus && !utils.isSameMonth(state.currentMonth, action.focusedDay);\n return _extends({}, state, {\n focusedDay: action.focusedDay,\n isMonthSwitchingAnimating: needMonthSwitch && !reduceAnimations && !action.withoutMonthSwitchingAnimation,\n currentMonth: needMonthSwitch ? utils.startOfMonth(action.focusedDay) : state.currentMonth,\n slideDirection: action.focusedDay != null && utils.isAfterDay(action.focusedDay, state.currentMonth) ? 'left' : 'right'\n });\n }\n default:\n throw new Error('missing support');\n }\n};\nexport const useCalendarState = params => {\n const {\n value,\n referenceDate: referenceDateProp,\n disableFuture,\n disablePast,\n disableSwitchToMonthOnDayFocus = false,\n maxDate,\n minDate,\n onMonthChange,\n reduceAnimations,\n shouldDisableDate,\n timezone\n } = params;\n const utils = useUtils();\n const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations), disableSwitchToMonthOnDayFocus, utils)).current;\n const referenceDate = React.useMemo(() => {\n return singleItemValueManager.getInitialReferenceValue({\n value,\n utils,\n timezone,\n props: params,\n referenceDate: referenceDateProp,\n granularity: SECTION_TYPE_GRANULARITY.day\n });\n }, [] // eslint-disable-line react-hooks/exhaustive-deps\n );\n const [calendarState, dispatch] = React.useReducer(reducerFn, {\n isMonthSwitchingAnimating: false,\n focusedDay: referenceDate,\n currentMonth: utils.startOfMonth(referenceDate),\n slideDirection: 'left'\n });\n const handleChangeMonth = React.useCallback(payload => {\n dispatch(_extends({\n type: 'changeMonth'\n }, payload));\n if (onMonthChange) {\n onMonthChange(payload.newMonth);\n }\n }, [onMonthChange]);\n const changeMonth = React.useCallback(newDate => {\n const newDateRequested = newDate;\n if (utils.isSameMonth(newDateRequested, calendarState.currentMonth)) {\n return;\n }\n handleChangeMonth({\n newMonth: utils.startOfMonth(newDateRequested),\n direction: utils.isAfterDay(newDateRequested, calendarState.currentMonth) ? 'left' : 'right'\n });\n }, [calendarState.currentMonth, handleChangeMonth, utils]);\n const isDateDisabled = useIsDateDisabled({\n shouldDisableDate,\n minDate,\n maxDate,\n disableFuture,\n disablePast,\n timezone\n });\n const onMonthSwitchingAnimationEnd = React.useCallback(() => {\n dispatch({\n type: 'finishMonthSwitchingAnimation'\n });\n }, []);\n const changeFocusedDay = useEventCallback((newFocusedDate, withoutMonthSwitchingAnimation) => {\n if (!isDateDisabled(newFocusedDate)) {\n dispatch({\n type: 'changeFocusedDay',\n focusedDay: newFocusedDate,\n withoutMonthSwitchingAnimation\n });\n }\n });\n return {\n referenceDate,\n calendarState,\n changeMonth,\n changeFocusedDay,\n isDateDisabled,\n onMonthSwitchingAnimationEnd,\n handleChangeMonth\n };\n};","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getPickersFadeTransitionGroupUtilityClass = slot => generateUtilityClass('MuiPickersFadeTransitionGroup', slot);\nexport const pickersFadeTransitionGroupClasses = generateUtilityClasses('MuiPickersFadeTransitionGroup', ['root']);","import * as React from 'react';\nimport clsx from 'clsx';\nimport { TransitionGroup } from 'react-transition-group';\nimport Fade from '@mui/material/Fade';\nimport { styled, useTheme, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { getPickersFadeTransitionGroupUtilityClass } from './pickersFadeTransitionGroupClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getPickersFadeTransitionGroupUtilityClass, classes);\n};\nconst PickersFadeTransitionGroupRoot = styled(TransitionGroup, {\n name: 'MuiPickersFadeTransitionGroup',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({\n display: 'block',\n position: 'relative'\n});\n\n/**\n * @ignore - do not document.\n */\nexport function PickersFadeTransitionGroup(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersFadeTransitionGroup'\n });\n const {\n children,\n className,\n reduceAnimations,\n transKey\n } = props;\n const classes = useUtilityClasses(props);\n const theme = useTheme();\n if (reduceAnimations) {\n return children;\n }\n return /*#__PURE__*/_jsx(PickersFadeTransitionGroupRoot, {\n className: clsx(classes.root, className),\n children: /*#__PURE__*/_jsx(Fade, {\n appear: false,\n mountOnEnter: true,\n unmountOnExit: true,\n timeout: {\n appear: theme.transitions.duration.enteringScreen,\n enter: theme.transitions.duration.enteringScreen,\n exit: 0\n },\n children: children\n }, transKey)\n });\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersDayUtilityClass(slot) {\n return generateUtilityClass('MuiPickersDay', slot);\n}\nexport const pickersDayClasses = generateUtilityClasses('MuiPickersDay', ['root', 'dayWithMargin', 'dayOutsideMonth', 'hiddenDaySpacingFiller', 'today', 'selected', 'disabled']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"className\", \"day\", \"disabled\", \"disableHighlightToday\", \"disableMargin\", \"hidden\", \"isAnimating\", \"onClick\", \"onDaySelect\", \"onFocus\", \"onBlur\", \"onKeyDown\", \"onMouseDown\", \"onMouseEnter\", \"outsideCurrentMonth\", \"selected\", \"showDaysOutsideCurrentMonth\", \"children\", \"today\", \"isFirstVisibleCell\", \"isLastVisibleCell\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport { unstable_useEnhancedEffect as useEnhancedEffect, unstable_composeClasses as composeClasses, unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { alpha, styled, useThemeProps } from '@mui/material/styles';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { DAY_SIZE, DAY_MARGIN } from '../internals/constants/dimensions';\nimport { getPickersDayUtilityClass, pickersDayClasses } from './pickersDayClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n selected,\n disableMargin,\n disableHighlightToday,\n today,\n disabled,\n outsideCurrentMonth,\n showDaysOutsideCurrentMonth,\n classes\n } = ownerState;\n const isHiddenDaySpacingFiller = outsideCurrentMonth && !showDaysOutsideCurrentMonth;\n const slots = {\n root: ['root', selected && !isHiddenDaySpacingFiller && 'selected', disabled && 'disabled', !disableMargin && 'dayWithMargin', !disableHighlightToday && today && 'today', outsideCurrentMonth && showDaysOutsideCurrentMonth && 'dayOutsideMonth', isHiddenDaySpacingFiller && 'hiddenDaySpacingFiller'],\n hiddenDaySpacingFiller: ['hiddenDaySpacingFiller']\n };\n return composeClasses(slots, getPickersDayUtilityClass, classes);\n};\nconst styleArg = ({\n theme\n}) => _extends({}, theme.typography.caption, {\n width: DAY_SIZE,\n height: DAY_SIZE,\n borderRadius: '50%',\n padding: 0,\n // explicitly setting to `transparent` to avoid potentially getting impacted by change from the overridden component\n backgroundColor: 'transparent',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n color: (theme.vars || theme).palette.text.primary,\n '@media (pointer: fine)': {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity)\n }\n },\n '&:focus': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity),\n [`&.${pickersDayClasses.selected}`]: {\n willChange: 'background-color',\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n },\n [`&.${pickersDayClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.main,\n fontWeight: theme.typography.fontWeightMedium,\n '&:hover': {\n willChange: 'background-color',\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n },\n [`&.${pickersDayClasses.disabled}:not(.${pickersDayClasses.selected})`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${pickersDayClasses.disabled}&.${pickersDayClasses.selected}`]: {\n opacity: 0.6\n },\n variants: [{\n props: {\n disableMargin: false\n },\n style: {\n margin: `0 ${DAY_MARGIN}px`\n }\n }, {\n props: {\n outsideCurrentMonth: true,\n showDaysOutsideCurrentMonth: true\n },\n style: {\n color: (theme.vars || theme).palette.text.secondary\n }\n }, {\n props: {\n disableHighlightToday: false,\n today: true\n },\n style: {\n [`&:not(.${pickersDayClasses.selected})`]: {\n border: `1px solid ${(theme.vars || theme).palette.text.secondary}`\n }\n }\n }]\n});\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableMargin && styles.dayWithMargin, !ownerState.disableHighlightToday && ownerState.today && styles.today, !ownerState.outsideCurrentMonth && ownerState.showDaysOutsideCurrentMonth && styles.dayOutsideMonth, ownerState.outsideCurrentMonth && !ownerState.showDaysOutsideCurrentMonth && styles.hiddenDaySpacingFiller];\n};\nconst PickersDayRoot = styled(ButtonBase, {\n name: 'MuiPickersDay',\n slot: 'Root',\n overridesResolver\n})(styleArg);\nconst PickersDayFiller = styled('div', {\n name: 'MuiPickersDay',\n slot: 'Root',\n overridesResolver\n})(({\n theme\n}) => _extends({}, styleArg({\n theme\n}), {\n // visibility: 'hidden' does not work here as it hides the element from screen readers as well\n opacity: 0,\n pointerEvents: 'none'\n}));\nconst noop = () => {};\nconst PickersDayRaw = /*#__PURE__*/React.forwardRef(function PickersDay(inProps, forwardedRef) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersDay'\n });\n const {\n autoFocus = false,\n className,\n day,\n disabled = false,\n disableHighlightToday = false,\n disableMargin = false,\n isAnimating,\n onClick,\n onDaySelect,\n onFocus = noop,\n onBlur = noop,\n onKeyDown = noop,\n onMouseDown = noop,\n onMouseEnter = noop,\n outsideCurrentMonth,\n selected = false,\n showDaysOutsideCurrentMonth = false,\n children,\n today: isToday = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n autoFocus,\n disabled,\n disableHighlightToday,\n disableMargin,\n selected,\n showDaysOutsideCurrentMonth,\n today: isToday\n });\n const classes = useUtilityClasses(ownerState);\n const utils = useUtils();\n const ref = React.useRef(null);\n const handleRef = useForkRef(ref, forwardedRef);\n\n // Since this is rendered when a Popper is opened we can't use passive effects.\n // Focusing in passive effects in Popper causes scroll jump.\n useEnhancedEffect(() => {\n if (autoFocus && !disabled && !isAnimating && !outsideCurrentMonth) {\n // ref.current being null would be a bug in MUI\n ref.current.focus();\n }\n }, [autoFocus, disabled, isAnimating, outsideCurrentMonth]);\n\n // For a day outside the current month, move the focus from mouseDown to mouseUp\n // Goal: have the onClick ends before sliding to the new month\n const handleMouseDown = event => {\n onMouseDown(event);\n if (outsideCurrentMonth) {\n event.preventDefault();\n }\n };\n const handleClick = event => {\n if (!disabled) {\n onDaySelect(day);\n }\n if (outsideCurrentMonth) {\n event.currentTarget.focus();\n }\n if (onClick) {\n onClick(event);\n }\n };\n if (outsideCurrentMonth && !showDaysOutsideCurrentMonth) {\n return /*#__PURE__*/_jsx(PickersDayFiller, {\n className: clsx(classes.root, classes.hiddenDaySpacingFiller, className),\n ownerState: ownerState,\n role: other.role\n });\n }\n return /*#__PURE__*/_jsx(PickersDayRoot, _extends({\n className: clsx(classes.root, className),\n ref: handleRef,\n centerRipple: true,\n disabled: disabled,\n tabIndex: selected ? 0 : -1,\n onKeyDown: event => onKeyDown(event, day),\n onFocus: event => onFocus(event, day),\n onBlur: event => onBlur(event, day),\n onMouseEnter: event => onMouseEnter(event, day),\n onClick: handleClick,\n onMouseDown: handleMouseDown\n }, other, {\n ownerState: ownerState,\n children: !children ? utils.format(day, 'dayOfMonth') : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersDayRaw.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n focusVisible: PropTypes.func.isRequired\n })\n })]),\n /**\n * If `true`, the ripples are centered.\n * They won't start at the cursor interaction position.\n * @default false\n */\n centerRipple: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n component: PropTypes.elementType,\n /**\n * The date to show.\n */\n day: PropTypes.object.isRequired,\n /**\n * If `true`, renders as disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, days are rendering without margin. Useful for displaying linked range of days.\n * @default false\n */\n disableMargin: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the touch ripple effect is disabled.\n * @default false\n */\n disableTouchRipple: PropTypes.bool,\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * @default false\n */\n focusRipple: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n isAnimating: PropTypes.bool,\n /**\n * If `true`, day is the first visible cell of the month.\n * Either the first day of the month or the first day of the week depending on `showDaysOutsideCurrentMonth`.\n */\n isFirstVisibleCell: PropTypes.bool.isRequired,\n /**\n * If `true`, day is the last visible cell of the month.\n * Either the last day of the month or the last day of the week depending on `showDaysOutsideCurrentMonth`.\n */\n isLastVisibleCell: PropTypes.bool.isRequired,\n onBlur: PropTypes.func,\n onDaySelect: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n onKeyDown: PropTypes.func,\n onMouseEnter: PropTypes.func,\n /**\n * If `true`, day is outside of month and will be hidden.\n */\n outsideCurrentMonth: PropTypes.bool.isRequired,\n /**\n * If `true`, renders as selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * If `true`, days outside the current month are rendered:\n *\n * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.\n *\n * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.\n *\n * - ignored if `calendars` equals more than `1` on range pickers.\n * @default false\n */\n showDaysOutsideCurrentMonth: PropTypes.bool,\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number,\n /**\n * If `true`, renders as today date.\n * @default false\n */\n today: PropTypes.bool,\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: PropTypes.object,\n /**\n * A ref that points to the `TouchRipple` element.\n */\n touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n pulsate: PropTypes.func.isRequired,\n start: PropTypes.func.isRequired,\n stop: PropTypes.func.isRequired\n })\n })])\n} : void 0;\n\n/**\n * Demos:\n *\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n * API:\n *\n * - [PickersDay API](https://mui.com/x/api/date-pickers/pickers-day/)\n */\nexport const PickersDay = /*#__PURE__*/React.memo(PickersDayRaw);","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getPickersSlideTransitionUtilityClass = slot => generateUtilityClass('MuiPickersSlideTransition', slot);\nexport const pickersSlideTransitionClasses = generateUtilityClasses('MuiPickersSlideTransition', ['root', 'slideEnter-left', 'slideEnter-right', 'slideEnterActive', 'slideExit', 'slideExitActiveLeft-left', 'slideExitActiveLeft-right']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"reduceAnimations\", \"slideDirection\", \"transKey\", \"classes\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled, useTheme, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport { getPickersSlideTransitionUtilityClass, pickersSlideTransitionClasses } from './pickersSlideTransitionClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n slideDirection\n } = ownerState;\n const slots = {\n root: ['root'],\n exit: ['slideExit'],\n enterActive: ['slideEnterActive'],\n enter: [`slideEnter-${slideDirection}`],\n exitActive: [`slideExitActiveLeft-${slideDirection}`]\n };\n return composeClasses(slots, getPickersSlideTransitionUtilityClass, classes);\n};\nconst PickersSlideTransitionRoot = styled(TransitionGroup, {\n name: 'MuiPickersSlideTransition',\n slot: 'Root',\n overridesResolver: (_, styles) => [styles.root, {\n [`.${pickersSlideTransitionClasses['slideEnter-left']}`]: styles['slideEnter-left']\n }, {\n [`.${pickersSlideTransitionClasses['slideEnter-right']}`]: styles['slideEnter-right']\n }, {\n [`.${pickersSlideTransitionClasses.slideEnterActive}`]: styles.slideEnterActive\n }, {\n [`.${pickersSlideTransitionClasses.slideExit}`]: styles.slideExit\n }, {\n [`.${pickersSlideTransitionClasses['slideExitActiveLeft-left']}`]: styles['slideExitActiveLeft-left']\n }, {\n [`.${pickersSlideTransitionClasses['slideExitActiveLeft-right']}`]: styles['slideExitActiveLeft-right']\n }]\n})(({\n theme\n}) => {\n const slideTransition = theme.transitions.create('transform', {\n duration: theme.transitions.duration.complex,\n easing: 'cubic-bezier(0.35, 0.8, 0.4, 1)'\n });\n return {\n display: 'block',\n position: 'relative',\n overflowX: 'hidden',\n '& > *': {\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0\n },\n [`& .${pickersSlideTransitionClasses['slideEnter-left']}`]: {\n willChange: 'transform',\n transform: 'translate(100%)',\n zIndex: 1\n },\n [`& .${pickersSlideTransitionClasses['slideEnter-right']}`]: {\n willChange: 'transform',\n transform: 'translate(-100%)',\n zIndex: 1\n },\n [`& .${pickersSlideTransitionClasses.slideEnterActive}`]: {\n transform: 'translate(0%)',\n transition: slideTransition\n },\n [`& .${pickersSlideTransitionClasses.slideExit}`]: {\n transform: 'translate(0%)'\n },\n [`& .${pickersSlideTransitionClasses['slideExitActiveLeft-left']}`]: {\n willChange: 'transform',\n transform: 'translate(-100%)',\n transition: slideTransition,\n zIndex: 0\n },\n [`& .${pickersSlideTransitionClasses['slideExitActiveLeft-right']}`]: {\n willChange: 'transform',\n transform: 'translate(100%)',\n transition: slideTransition,\n zIndex: 0\n }\n };\n});\n\n/**\n * @ignore - do not document.\n */\nexport function PickersSlideTransition(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersSlideTransition'\n });\n const {\n children,\n className,\n reduceAnimations,\n transKey\n // extracting `classes` from `other`\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const theme = useTheme();\n if (reduceAnimations) {\n return /*#__PURE__*/_jsx(\"div\", {\n className: clsx(classes.root, className),\n children: children\n });\n }\n const transitionClasses = {\n exit: classes.exit,\n enterActive: classes.enterActive,\n enter: classes.enter,\n exitActive: classes.exitActive\n };\n return /*#__PURE__*/_jsx(PickersSlideTransitionRoot, {\n className: clsx(classes.root, className),\n childFactory: element => /*#__PURE__*/React.cloneElement(element, {\n classNames: transitionClasses\n }),\n role: \"presentation\",\n children: /*#__PURE__*/_jsx(CSSTransition, _extends({\n mountOnEnter: true,\n unmountOnExit: true,\n timeout: theme.transitions.duration.complex,\n classNames: transitionClasses\n }, other, {\n children: children\n }), transKey)\n });\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getDayCalendarUtilityClass = slot => generateUtilityClass('MuiDayCalendar', slot);\nexport const dayCalendarClasses = generateUtilityClasses('MuiDayCalendar', ['root', 'header', 'weekDayLabel', 'loadingContainer', 'slideTransition', 'monthContainer', 'weekContainer', 'weekNumberLabel', 'weekNumber']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"parentProps\", \"day\", \"focusableDay\", \"selectedDays\", \"isDateDisabled\", \"currentMonthNumber\", \"isViewFocused\"],\n _excluded2 = [\"ownerState\"];\nimport * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport Typography from '@mui/material/Typography';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses, unstable_useControlled as useControlled } from '@mui/utils';\nimport clsx from 'clsx';\nimport { PickersDay } from '../PickersDay/PickersDay';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils, useNow } from '../internals/hooks/useUtils';\nimport { DAY_SIZE, DAY_MARGIN } from '../internals/constants/dimensions';\nimport { PickersSlideTransition } from './PickersSlideTransition';\nimport { useIsDateDisabled } from './useIsDateDisabled';\nimport { findClosestEnabledDate, getWeekdays } from '../internals/utils/date-utils';\nimport { getDayCalendarUtilityClass } from './dayCalendarClasses';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n header: ['header'],\n weekDayLabel: ['weekDayLabel'],\n loadingContainer: ['loadingContainer'],\n slideTransition: ['slideTransition'],\n monthContainer: ['monthContainer'],\n weekContainer: ['weekContainer'],\n weekNumberLabel: ['weekNumberLabel'],\n weekNumber: ['weekNumber']\n };\n return composeClasses(slots, getDayCalendarUtilityClass, classes);\n};\nconst weeksContainerHeight = (DAY_SIZE + DAY_MARGIN * 2) * 6;\nconst PickersCalendarDayRoot = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({});\nconst PickersCalendarDayHeader = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'Header',\n overridesResolver: (_, styles) => styles.header\n})({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n});\nconst PickersCalendarWeekDayLabel = styled(Typography, {\n name: 'MuiDayCalendar',\n slot: 'WeekDayLabel',\n overridesResolver: (_, styles) => styles.weekDayLabel\n})(({\n theme\n}) => ({\n width: 36,\n height: 40,\n margin: '0 2px',\n textAlign: 'center',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: (theme.vars || theme).palette.text.secondary\n}));\nconst PickersCalendarWeekNumberLabel = styled(Typography, {\n name: 'MuiDayCalendar',\n slot: 'WeekNumberLabel',\n overridesResolver: (_, styles) => styles.weekNumberLabel\n})(({\n theme\n}) => ({\n width: 36,\n height: 40,\n margin: '0 2px',\n textAlign: 'center',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: theme.palette.text.disabled\n}));\nconst PickersCalendarWeekNumber = styled(Typography, {\n name: 'MuiDayCalendar',\n slot: 'WeekNumber',\n overridesResolver: (_, styles) => styles.weekNumber\n})(({\n theme\n}) => _extends({}, theme.typography.caption, {\n width: DAY_SIZE,\n height: DAY_SIZE,\n padding: 0,\n margin: `0 ${DAY_MARGIN}px`,\n color: theme.palette.text.disabled,\n fontSize: '0.75rem',\n alignItems: 'center',\n justifyContent: 'center',\n display: 'inline-flex'\n}));\nconst PickersCalendarLoadingContainer = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'LoadingContainer',\n overridesResolver: (_, styles) => styles.loadingContainer\n})({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minHeight: weeksContainerHeight\n});\nconst PickersCalendarSlideTransition = styled(PickersSlideTransition, {\n name: 'MuiDayCalendar',\n slot: 'SlideTransition',\n overridesResolver: (_, styles) => styles.slideTransition\n})({\n minHeight: weeksContainerHeight\n});\nconst PickersCalendarWeekContainer = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'MonthContainer',\n overridesResolver: (_, styles) => styles.monthContainer\n})({\n overflow: 'hidden'\n});\nconst PickersCalendarWeek = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'WeekContainer',\n overridesResolver: (_, styles) => styles.weekContainer\n})({\n margin: `${DAY_MARGIN}px 0`,\n display: 'flex',\n justifyContent: 'center'\n});\nfunction WrappedDay(_ref) {\n let {\n parentProps,\n day,\n focusableDay,\n selectedDays,\n isDateDisabled,\n currentMonthNumber,\n isViewFocused\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n const {\n disabled,\n disableHighlightToday,\n isMonthSwitchingAnimating,\n showDaysOutsideCurrentMonth,\n slots,\n slotProps,\n timezone\n } = parentProps;\n const utils = useUtils();\n const now = useNow(timezone);\n const isFocusableDay = focusableDay !== null && utils.isSameDay(day, focusableDay);\n const isSelected = selectedDays.some(selectedDay => utils.isSameDay(selectedDay, day));\n const isToday = utils.isSameDay(day, now);\n const Day = slots?.day ?? PickersDay;\n // We don't want to pass to ownerState down, to avoid re-rendering all the day whenever a prop changes.\n const _useSlotProps = useSlotProps({\n elementType: Day,\n externalSlotProps: slotProps?.day,\n additionalProps: _extends({\n disableHighlightToday,\n showDaysOutsideCurrentMonth,\n role: 'gridcell',\n isAnimating: isMonthSwitchingAnimating,\n // it is used in date range dragging logic by accessing `dataset.timestamp`\n 'data-timestamp': utils.toJsDate(day).valueOf()\n }, other),\n ownerState: _extends({}, parentProps, {\n day,\n selected: isSelected\n })\n }),\n dayProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);\n const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);\n const outsideCurrentMonth = React.useMemo(() => utils.getMonth(day) !== currentMonthNumber, [utils, day, currentMonthNumber]);\n const isFirstVisibleCell = React.useMemo(() => {\n const startOfMonth = utils.startOfMonth(utils.setMonth(day, currentMonthNumber));\n if (!showDaysOutsideCurrentMonth) {\n return utils.isSameDay(day, startOfMonth);\n }\n return utils.isSameDay(day, utils.startOfWeek(startOfMonth));\n }, [currentMonthNumber, day, showDaysOutsideCurrentMonth, utils]);\n const isLastVisibleCell = React.useMemo(() => {\n const endOfMonth = utils.endOfMonth(utils.setMonth(day, currentMonthNumber));\n if (!showDaysOutsideCurrentMonth) {\n return utils.isSameDay(day, endOfMonth);\n }\n return utils.isSameDay(day, utils.endOfWeek(endOfMonth));\n }, [currentMonthNumber, day, showDaysOutsideCurrentMonth, utils]);\n return /*#__PURE__*/_jsx(Day, _extends({}, dayProps, {\n day: day,\n disabled: isDisabled,\n autoFocus: isViewFocused && isFocusableDay,\n today: isToday,\n outsideCurrentMonth: outsideCurrentMonth,\n isFirstVisibleCell: isFirstVisibleCell,\n isLastVisibleCell: isLastVisibleCell,\n selected: isSelected,\n tabIndex: isFocusableDay ? 0 : -1,\n \"aria-selected\": isSelected,\n \"aria-current\": isToday ? 'date' : undefined\n }));\n}\n\n/**\n * @ignore - do not document.\n */\nexport function DayCalendar(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDayCalendar'\n });\n const utils = useUtils();\n const {\n onFocusedDayChange,\n className,\n currentMonth,\n selectedDays,\n focusedDay,\n loading,\n onSelectedDaysChange,\n onMonthSwitchingAnimationEnd,\n readOnly,\n reduceAnimations,\n renderLoading = () => /*#__PURE__*/_jsx(\"span\", {\n children: \"...\"\n }),\n slideDirection,\n TransitionProps,\n disablePast,\n disableFuture,\n minDate,\n maxDate,\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n dayOfWeekFormatter = date => utils.format(date, 'weekdayShort').charAt(0).toUpperCase(),\n hasFocus,\n onFocusedViewChange,\n gridLabelId,\n displayWeekNumber,\n fixedWeekNumber,\n autoFocus,\n timezone\n } = props;\n const now = useNow(timezone);\n const classes = useUtilityClasses(props);\n const isRtl = useRtl();\n const isDateDisabled = useIsDateDisabled({\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n minDate,\n maxDate,\n disablePast,\n disableFuture,\n timezone\n });\n const translations = usePickersTranslations();\n const [internalHasFocus, setInternalHasFocus] = useControlled({\n name: 'DayCalendar',\n state: 'hasFocus',\n controlled: hasFocus,\n default: autoFocus ?? false\n });\n const [internalFocusedDay, setInternalFocusedDay] = React.useState(() => focusedDay || now);\n const handleDaySelect = useEventCallback(day => {\n if (readOnly) {\n return;\n }\n onSelectedDaysChange(day);\n });\n const focusDay = day => {\n if (!isDateDisabled(day)) {\n onFocusedDayChange(day);\n setInternalFocusedDay(day);\n onFocusedViewChange?.(true);\n setInternalHasFocus(true);\n }\n };\n const handleKeyDown = useEventCallback((event, day) => {\n switch (event.key) {\n case 'ArrowUp':\n focusDay(utils.addDays(day, -7));\n event.preventDefault();\n break;\n case 'ArrowDown':\n focusDay(utils.addDays(day, 7));\n event.preventDefault();\n break;\n case 'ArrowLeft':\n {\n const newFocusedDayDefault = utils.addDays(day, isRtl ? 1 : -1);\n const nextAvailableMonth = utils.addMonths(day, isRtl ? 1 : -1);\n const closestDayToFocus = findClosestEnabledDate({\n utils,\n date: newFocusedDayDefault,\n minDate: isRtl ? newFocusedDayDefault : utils.startOfMonth(nextAvailableMonth),\n maxDate: isRtl ? utils.endOfMonth(nextAvailableMonth) : newFocusedDayDefault,\n isDateDisabled,\n timezone\n });\n focusDay(closestDayToFocus || newFocusedDayDefault);\n event.preventDefault();\n break;\n }\n case 'ArrowRight':\n {\n const newFocusedDayDefault = utils.addDays(day, isRtl ? -1 : 1);\n const nextAvailableMonth = utils.addMonths(day, isRtl ? -1 : 1);\n const closestDayToFocus = findClosestEnabledDate({\n utils,\n date: newFocusedDayDefault,\n minDate: isRtl ? utils.startOfMonth(nextAvailableMonth) : newFocusedDayDefault,\n maxDate: isRtl ? newFocusedDayDefault : utils.endOfMonth(nextAvailableMonth),\n isDateDisabled,\n timezone\n });\n focusDay(closestDayToFocus || newFocusedDayDefault);\n event.preventDefault();\n break;\n }\n case 'Home':\n focusDay(utils.startOfWeek(day));\n event.preventDefault();\n break;\n case 'End':\n focusDay(utils.endOfWeek(day));\n event.preventDefault();\n break;\n case 'PageUp':\n focusDay(utils.addMonths(day, 1));\n event.preventDefault();\n break;\n case 'PageDown':\n focusDay(utils.addMonths(day, -1));\n event.preventDefault();\n break;\n default:\n break;\n }\n });\n const handleFocus = useEventCallback((event, day) => focusDay(day));\n const handleBlur = useEventCallback((event, day) => {\n if (internalHasFocus && utils.isSameDay(internalFocusedDay, day)) {\n onFocusedViewChange?.(false);\n }\n });\n const currentMonthNumber = utils.getMonth(currentMonth);\n const currentYearNumber = utils.getYear(currentMonth);\n const validSelectedDays = React.useMemo(() => selectedDays.filter(day => !!day).map(day => utils.startOfDay(day)), [utils, selectedDays]);\n\n // need a new ref whenever the `key` of the transition changes: https://reactcommunity.org/react-transition-group/transition/#Transition-prop-nodeRef.\n const transitionKey = `${currentYearNumber}-${currentMonthNumber}`;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const slideNodeRef = React.useMemo(() => /*#__PURE__*/React.createRef(), [transitionKey]);\n const startOfCurrentWeek = utils.startOfWeek(now);\n const focusableDay = React.useMemo(() => {\n const startOfMonth = utils.startOfMonth(currentMonth);\n const endOfMonth = utils.endOfMonth(currentMonth);\n if (isDateDisabled(internalFocusedDay) || utils.isAfterDay(internalFocusedDay, endOfMonth) || utils.isBeforeDay(internalFocusedDay, startOfMonth)) {\n return findClosestEnabledDate({\n utils,\n date: internalFocusedDay,\n minDate: startOfMonth,\n maxDate: endOfMonth,\n disablePast,\n disableFuture,\n isDateDisabled,\n timezone\n });\n }\n return internalFocusedDay;\n }, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils, timezone]);\n const weeksToDisplay = React.useMemo(() => {\n const currentMonthWithTimezone = utils.setTimezone(currentMonth, timezone);\n const toDisplay = utils.getWeekArray(currentMonthWithTimezone);\n let nextMonth = utils.addMonths(currentMonthWithTimezone, 1);\n while (fixedWeekNumber && toDisplay.length < fixedWeekNumber) {\n const additionalWeeks = utils.getWeekArray(nextMonth);\n const hasCommonWeek = utils.isSameDay(toDisplay[toDisplay.length - 1][0], additionalWeeks[0][0]);\n additionalWeeks.slice(hasCommonWeek ? 1 : 0).forEach(week => {\n if (toDisplay.length < fixedWeekNumber) {\n toDisplay.push(week);\n }\n });\n nextMonth = utils.addMonths(nextMonth, 1);\n }\n return toDisplay;\n }, [currentMonth, fixedWeekNumber, utils, timezone]);\n return /*#__PURE__*/_jsxs(PickersCalendarDayRoot, {\n role: \"grid\",\n \"aria-labelledby\": gridLabelId,\n className: classes.root,\n children: [/*#__PURE__*/_jsxs(PickersCalendarDayHeader, {\n role: \"row\",\n className: classes.header,\n children: [displayWeekNumber && /*#__PURE__*/_jsx(PickersCalendarWeekNumberLabel, {\n variant: \"caption\",\n role: \"columnheader\",\n \"aria-label\": translations.calendarWeekNumberHeaderLabel,\n className: classes.weekNumberLabel,\n children: translations.calendarWeekNumberHeaderText\n }), getWeekdays(utils, now).map((weekday, i) => /*#__PURE__*/_jsx(PickersCalendarWeekDayLabel, {\n variant: \"caption\",\n role: \"columnheader\",\n \"aria-label\": utils.format(utils.addDays(startOfCurrentWeek, i), 'weekday'),\n className: classes.weekDayLabel,\n children: dayOfWeekFormatter(weekday)\n }, i.toString()))]\n }), loading ? /*#__PURE__*/_jsx(PickersCalendarLoadingContainer, {\n className: classes.loadingContainer,\n children: renderLoading()\n }) : /*#__PURE__*/_jsx(PickersCalendarSlideTransition, _extends({\n transKey: transitionKey,\n onExited: onMonthSwitchingAnimationEnd,\n reduceAnimations: reduceAnimations,\n slideDirection: slideDirection,\n className: clsx(className, classes.slideTransition)\n }, TransitionProps, {\n nodeRef: slideNodeRef,\n children: /*#__PURE__*/_jsx(PickersCalendarWeekContainer, {\n ref: slideNodeRef,\n role: \"rowgroup\",\n className: classes.monthContainer,\n children: weeksToDisplay.map((week, index) => /*#__PURE__*/_jsxs(PickersCalendarWeek, {\n role: \"row\",\n className: classes.weekContainer\n // fix issue of announcing row 1 as row 2\n // caused by week day labels row\n ,\n \"aria-rowindex\": index + 1,\n children: [displayWeekNumber && /*#__PURE__*/_jsx(PickersCalendarWeekNumber, {\n className: classes.weekNumber,\n role: \"rowheader\",\n \"aria-label\": translations.calendarWeekNumberAriaLabelText(utils.getWeekNumber(week[0])),\n children: translations.calendarWeekNumberText(utils.getWeekNumber(week[0]))\n }), week.map((day, dayIndex) => /*#__PURE__*/_jsx(WrappedDay, {\n parentProps: props,\n day: day,\n selectedDays: validSelectedDays,\n focusableDay: focusableDay,\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onDaySelect: handleDaySelect,\n isDateDisabled: isDateDisabled,\n currentMonthNumber: currentMonthNumber,\n isViewFocused: internalHasFocus\n // fix issue of announcing column 1 as column 2 when `displayWeekNumber` is enabled\n ,\n \"aria-colindex\": dayIndex + 1\n }, day.toString()))]\n }, `week-${week[0]}`))\n })\n }))]\n });\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersMonthUtilityClass(slot) {\n return generateUtilityClass('MuiPickersMonth', slot);\n}\nexport const pickersMonthClasses = generateUtilityClasses('MuiPickersMonth', ['root', 'monthButton', 'disabled', 'selected']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"className\", \"children\", \"disabled\", \"selected\", \"value\", \"tabIndex\", \"onClick\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"aria-current\", \"aria-label\", \"monthsPerRow\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled, alpha, useThemeProps } from '@mui/material/styles';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getPickersMonthUtilityClass, pickersMonthClasses } from './pickersMonthClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n monthButton: ['monthButton', disabled && 'disabled', selected && 'selected']\n };\n return composeClasses(slots, getPickersMonthUtilityClass, classes);\n};\nconst PickersMonthRoot = styled('div', {\n name: 'MuiPickersMonth',\n slot: 'Root',\n overridesResolver: (_, styles) => [styles.root]\n})({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexBasis: '33.3%',\n variants: [{\n props: {\n monthsPerRow: 4\n },\n style: {\n flexBasis: '25%'\n }\n }]\n});\nconst MonthCalendarButton = styled('button', {\n name: 'MuiPickersMonth',\n slot: 'MonthButton',\n overridesResolver: (_, styles) => [styles.monthButton, {\n [`&.${pickersMonthClasses.disabled}`]: styles.disabled\n }, {\n [`&.${pickersMonthClasses.selected}`]: styles.selected\n }]\n})(({\n theme\n}) => _extends({\n color: 'unset',\n backgroundColor: 'transparent',\n border: 0,\n outline: 0\n}, theme.typography.subtitle1, {\n margin: '8px 0',\n height: 36,\n width: 72,\n borderRadius: 18,\n cursor: 'pointer',\n '&:focus': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n },\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n },\n '&:disabled': {\n cursor: 'auto',\n pointerEvents: 'none'\n },\n [`&.${pickersMonthClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.secondary\n },\n [`&.${pickersMonthClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.main,\n '&:focus, &:hover': {\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n }\n}));\n\n/**\n * @ignore - do not document.\n */\nexport const PickersMonth = /*#__PURE__*/React.memo(function PickersMonth(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersMonth'\n });\n const {\n autoFocus,\n className,\n children,\n disabled,\n selected,\n value,\n tabIndex,\n onClick,\n onKeyDown,\n onFocus,\n onBlur,\n 'aria-current': ariaCurrent,\n 'aria-label': ariaLabel\n // We don't want to forward this prop to the root element\n ,\n\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ref = React.useRef(null);\n const classes = useUtilityClasses(props);\n\n // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button\n useEnhancedEffect(() => {\n if (autoFocus) {\n // `ref.current` being `null` would be a bug in MUI.\n ref.current?.focus();\n }\n }, [autoFocus]);\n const MonthButton = slots?.monthButton ?? MonthCalendarButton;\n const monthButtonProps = useSlotProps({\n elementType: MonthButton,\n externalSlotProps: slotProps?.monthButton,\n additionalProps: {\n children,\n disabled,\n tabIndex,\n ref,\n type: 'button',\n role: 'radio',\n 'aria-current': ariaCurrent,\n 'aria-checked': selected,\n 'aria-label': ariaLabel,\n onClick: event => onClick(event, value),\n onKeyDown: event => onKeyDown(event, value),\n onFocus: event => onFocus(event, value),\n onBlur: event => onBlur(event, value)\n },\n ownerState: props,\n className: classes.monthButton\n });\n return /*#__PURE__*/_jsx(PickersMonthRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: props\n }, other, {\n children: /*#__PURE__*/_jsx(MonthButton, _extends({}, monthButtonProps))\n }));\n});","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getMonthCalendarUtilityClass(slot) {\n return generateUtilityClass('MuiMonthCalendar', slot);\n}\nexport const monthCalendarClasses = generateUtilityClasses('MuiMonthCalendar', ['root']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"value\", \"defaultValue\", \"referenceDate\", \"disabled\", \"disableFuture\", \"disablePast\", \"maxDate\", \"minDate\", \"onChange\", \"shouldDisableMonth\", \"readOnly\", \"disableHighlightToday\", \"autoFocus\", \"onMonthFocus\", \"hasFocus\", \"onFocusedViewChange\", \"monthsPerRow\", \"timezone\", \"gridLabelId\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_useControlled as useControlled, unstable_composeClasses as composeClasses, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport { PickersMonth } from './PickersMonth';\nimport { useUtils, useNow, useDefaultDates } from '../internals/hooks/useUtils';\nimport { getMonthCalendarUtilityClass } from './monthCalendarClasses';\nimport { applyDefaultDate, getMonthsInYear } from '../internals/utils/date-utils';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { SECTION_TYPE_GRANULARITY } from '../internals/utils/getDefaultReferenceDate';\nimport { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';\nimport { DIALOG_WIDTH } from '../internals/constants/dimensions';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getMonthCalendarUtilityClass, classes);\n};\nexport function useMonthCalendarDefaultizedProps(props, name) {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const themeProps = useThemeProps({\n props,\n name\n });\n return _extends({\n disableFuture: false,\n disablePast: false\n }, themeProps, {\n minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)\n });\n}\nconst MonthCalendarRoot = styled('div', {\n name: 'MuiMonthCalendar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex',\n flexWrap: 'wrap',\n alignContent: 'stretch',\n padding: '0 4px',\n width: DIALOG_WIDTH,\n // avoid padding increasing width over defined\n boxSizing: 'border-box'\n});\n/**\n * Demos:\n *\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n *\n * API:\n *\n * - [MonthCalendar API](https://mui.com/x/api/date-pickers/month-calendar/)\n */\nexport const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalendar(inProps, ref) {\n const props = useMonthCalendarDefaultizedProps(inProps, 'MuiMonthCalendar');\n const {\n className,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disabled,\n disableFuture,\n disablePast,\n maxDate,\n minDate,\n onChange,\n shouldDisableMonth,\n readOnly,\n autoFocus = false,\n onMonthFocus,\n hasFocus,\n onFocusedViewChange,\n monthsPerRow = 3,\n timezone: timezoneProp,\n gridLabelId,\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'MonthCalendar',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange: onChange,\n valueManager: singleItemValueManager\n });\n const now = useNow(timezone);\n const isRtl = useRtl();\n const utils = useUtils();\n const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({\n value,\n utils,\n props,\n timezone,\n referenceDate: referenceDateProp,\n granularity: SECTION_TYPE_GRANULARITY.month\n }), [] // eslint-disable-line react-hooks/exhaustive-deps\n );\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const todayMonth = React.useMemo(() => utils.getMonth(now), [utils, now]);\n const selectedMonth = React.useMemo(() => {\n if (value != null) {\n return utils.getMonth(value);\n }\n return null;\n }, [value, utils]);\n const [focusedMonth, setFocusedMonth] = React.useState(() => selectedMonth || utils.getMonth(referenceDate));\n const [internalHasFocus, setInternalHasFocus] = useControlled({\n name: 'MonthCalendar',\n state: 'hasFocus',\n controlled: hasFocus,\n default: autoFocus ?? false\n });\n const changeHasFocus = useEventCallback(newHasFocus => {\n setInternalHasFocus(newHasFocus);\n if (onFocusedViewChange) {\n onFocusedViewChange(newHasFocus);\n }\n });\n const isMonthDisabled = React.useCallback(dateToValidate => {\n const firstEnabledMonth = utils.startOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate);\n const lastEnabledMonth = utils.startOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate);\n const monthToValidate = utils.startOfMonth(dateToValidate);\n if (utils.isBefore(monthToValidate, firstEnabledMonth)) {\n return true;\n }\n if (utils.isAfter(monthToValidate, lastEnabledMonth)) {\n return true;\n }\n if (!shouldDisableMonth) {\n return false;\n }\n return shouldDisableMonth(monthToValidate);\n }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableMonth, utils]);\n const handleMonthSelection = useEventCallback((event, month) => {\n if (readOnly) {\n return;\n }\n const newDate = utils.setMonth(value ?? referenceDate, month);\n handleValueChange(newDate);\n });\n const focusMonth = useEventCallback(month => {\n if (!isMonthDisabled(utils.setMonth(value ?? referenceDate, month))) {\n setFocusedMonth(month);\n changeHasFocus(true);\n if (onMonthFocus) {\n onMonthFocus(month);\n }\n }\n });\n React.useEffect(() => {\n setFocusedMonth(prevFocusedMonth => selectedMonth !== null && prevFocusedMonth !== selectedMonth ? selectedMonth : prevFocusedMonth);\n }, [selectedMonth]);\n const handleKeyDown = useEventCallback((event, month) => {\n const monthsInYear = 12;\n const monthsInRow = 3;\n switch (event.key) {\n case 'ArrowUp':\n focusMonth((monthsInYear + month - monthsInRow) % monthsInYear);\n event.preventDefault();\n break;\n case 'ArrowDown':\n focusMonth((monthsInYear + month + monthsInRow) % monthsInYear);\n event.preventDefault();\n break;\n case 'ArrowLeft':\n focusMonth((monthsInYear + month + (isRtl ? 1 : -1)) % monthsInYear);\n event.preventDefault();\n break;\n case 'ArrowRight':\n focusMonth((monthsInYear + month + (isRtl ? -1 : 1)) % monthsInYear);\n event.preventDefault();\n break;\n default:\n break;\n }\n });\n const handleMonthFocus = useEventCallback((event, month) => {\n focusMonth(month);\n });\n const handleMonthBlur = useEventCallback((event, month) => {\n if (focusedMonth === month) {\n changeHasFocus(false);\n }\n });\n return /*#__PURE__*/_jsx(MonthCalendarRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"radiogroup\",\n \"aria-labelledby\": gridLabelId\n }, other, {\n children: getMonthsInYear(utils, value ?? referenceDate).map(month => {\n const monthNumber = utils.getMonth(month);\n const monthText = utils.format(month, 'monthShort');\n const monthLabel = utils.format(month, 'month');\n const isSelected = monthNumber === selectedMonth;\n const isDisabled = disabled || isMonthDisabled(month);\n return /*#__PURE__*/_jsx(PickersMonth, {\n selected: isSelected,\n value: monthNumber,\n onClick: handleMonthSelection,\n onKeyDown: handleKeyDown,\n autoFocus: internalHasFocus && monthNumber === focusedMonth,\n disabled: isDisabled,\n tabIndex: monthNumber === focusedMonth && !isDisabled ? 0 : -1,\n onFocus: handleMonthFocus,\n onBlur: handleMonthBlur,\n \"aria-current\": todayMonth === monthNumber ? 'date' : undefined,\n \"aria-label\": monthLabel,\n monthsPerRow: monthsPerRow,\n slots: slots,\n slotProps: slotProps,\n children: monthText\n }, monthText);\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MonthCalendar.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true` picker is disabled\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n gridLabelId: PropTypes.string,\n hasFocus: PropTypes.bool,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Months rendered per row.\n * @default 3\n */\n monthsPerRow: PropTypes.oneOf([3, 4]),\n /**\n * Callback fired when the value changes.\n * @template TDate\n * @param {TDate} value The new value.\n */\n onChange: PropTypes.func,\n onFocusedViewChange: PropTypes.func,\n onMonthFocus: PropTypes.func,\n /**\n * If `true` picker is readonly\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid month using the validation props, except callbacks such as `shouldDisableMonth`.\n */\n referenceDate: PropTypes.object,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object\n} : void 0;","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersYearUtilityClass(slot) {\n return generateUtilityClass('MuiPickersYear', slot);\n}\nexport const pickersYearClasses = generateUtilityClasses('MuiPickersYear', ['root', 'yearButton', 'selected', 'disabled']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"className\", \"children\", \"disabled\", \"selected\", \"value\", \"tabIndex\", \"onClick\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"aria-current\", \"yearsPerRow\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled, alpha, useThemeProps } from '@mui/material/styles';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getPickersYearUtilityClass, pickersYearClasses } from './pickersYearClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n yearButton: ['yearButton', disabled && 'disabled', selected && 'selected']\n };\n return composeClasses(slots, getPickersYearUtilityClass, classes);\n};\nconst PickersYearRoot = styled('div', {\n name: 'MuiPickersYear',\n slot: 'Root',\n overridesResolver: (_, styles) => [styles.root]\n})({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexBasis: '33.3%',\n variants: [{\n props: {\n yearsPerRow: 4\n },\n style: {\n flexBasis: '25%'\n }\n }]\n});\nconst YearCalendarButton = styled('button', {\n name: 'MuiPickersYear',\n slot: 'YearButton',\n overridesResolver: (_, styles) => [styles.yearButton, {\n [`&.${pickersYearClasses.disabled}`]: styles.disabled\n }, {\n [`&.${pickersYearClasses.selected}`]: styles.selected\n }]\n})(({\n theme\n}) => _extends({\n color: 'unset',\n backgroundColor: 'transparent',\n border: 0,\n outline: 0\n}, theme.typography.subtitle1, {\n margin: '6px 0',\n height: 36,\n width: 72,\n borderRadius: 18,\n cursor: 'pointer',\n '&:focus': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.action.active, theme.palette.action.focusOpacity)\n },\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n },\n '&:disabled': {\n cursor: 'auto',\n pointerEvents: 'none'\n },\n [`&.${pickersYearClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.secondary\n },\n [`&.${pickersYearClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.main,\n '&:focus, &:hover': {\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n }\n}));\n\n/**\n * @ignore - internal component.\n */\nexport const PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersYear'\n });\n const {\n autoFocus,\n className,\n children,\n disabled,\n selected,\n value,\n tabIndex,\n onClick,\n onKeyDown,\n onFocus,\n onBlur,\n 'aria-current': ariaCurrent\n // We don't want to forward this prop to the root element\n ,\n\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ref = React.useRef(null);\n const classes = useUtilityClasses(props);\n\n // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button\n useEnhancedEffect(() => {\n if (autoFocus) {\n // `ref.current` being `null` would be a bug in MUI.\n ref.current?.focus();\n }\n }, [autoFocus]);\n const YearButton = slots?.yearButton ?? YearCalendarButton;\n const yearButtonProps = useSlotProps({\n elementType: YearButton,\n externalSlotProps: slotProps?.yearButton,\n additionalProps: {\n children,\n disabled,\n tabIndex,\n ref,\n type: 'button',\n role: 'radio',\n 'aria-current': ariaCurrent,\n 'aria-checked': selected,\n onClick: event => onClick(event, value),\n onKeyDown: event => onKeyDown(event, value),\n onFocus: event => onFocus(event, value),\n onBlur: event => onBlur(event, value)\n },\n ownerState: props,\n className: classes.yearButton\n });\n return /*#__PURE__*/_jsx(PickersYearRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: props\n }, other, {\n children: /*#__PURE__*/_jsx(YearButton, _extends({}, yearButtonProps))\n }));\n});","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getYearCalendarUtilityClass(slot) {\n return generateUtilityClass('MuiYearCalendar', slot);\n}\nexport const yearCalendarClasses = generateUtilityClasses('MuiYearCalendar', ['root']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"className\", \"value\", \"defaultValue\", \"referenceDate\", \"disabled\", \"disableFuture\", \"disablePast\", \"maxDate\", \"minDate\", \"onChange\", \"readOnly\", \"shouldDisableYear\", \"disableHighlightToday\", \"onYearFocus\", \"hasFocus\", \"onFocusedViewChange\", \"yearsPerRow\", \"timezone\", \"gridLabelId\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_useForkRef as useForkRef, unstable_composeClasses as composeClasses, unstable_useControlled as useControlled, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport { PickersYear } from './PickersYear';\nimport { useUtils, useNow, useDefaultDates } from '../internals/hooks/useUtils';\nimport { getYearCalendarUtilityClass } from './yearCalendarClasses';\nimport { applyDefaultDate } from '../internals/utils/date-utils';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { SECTION_TYPE_GRANULARITY } from '../internals/utils/getDefaultReferenceDate';\nimport { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';\nimport { DIALOG_WIDTH, MAX_CALENDAR_HEIGHT } from '../internals/constants/dimensions';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getYearCalendarUtilityClass, classes);\n};\nfunction useYearCalendarDefaultizedProps(props, name) {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const themeProps = useThemeProps({\n props,\n name\n });\n return _extends({\n disablePast: false,\n disableFuture: false\n }, themeProps, {\n yearsPerRow: themeProps.yearsPerRow ?? 3,\n minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)\n });\n}\nconst YearCalendarRoot = styled('div', {\n name: 'MuiYearCalendar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflowY: 'auto',\n height: '100%',\n padding: '0 4px',\n width: DIALOG_WIDTH,\n maxHeight: MAX_CALENDAR_HEIGHT,\n // avoid padding increasing width over defined\n boxSizing: 'border-box',\n position: 'relative'\n});\n/**\n * Demos:\n *\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n *\n * API:\n *\n * - [YearCalendar API](https://mui.com/x/api/date-pickers/year-calendar/)\n */\nexport const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(inProps, ref) {\n const props = useYearCalendarDefaultizedProps(inProps, 'MuiYearCalendar');\n const {\n autoFocus,\n className,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disabled,\n disableFuture,\n disablePast,\n maxDate,\n minDate,\n onChange,\n readOnly,\n shouldDisableYear,\n onYearFocus,\n hasFocus,\n onFocusedViewChange,\n yearsPerRow,\n timezone: timezoneProp,\n gridLabelId,\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'YearCalendar',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange: onChange,\n valueManager: singleItemValueManager\n });\n const now = useNow(timezone);\n const isRtl = useRtl();\n const utils = useUtils();\n const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({\n value,\n utils,\n props,\n timezone,\n referenceDate: referenceDateProp,\n granularity: SECTION_TYPE_GRANULARITY.year\n }), [] // eslint-disable-line react-hooks/exhaustive-deps\n );\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const todayYear = React.useMemo(() => utils.getYear(now), [utils, now]);\n const selectedYear = React.useMemo(() => {\n if (value != null) {\n return utils.getYear(value);\n }\n return null;\n }, [value, utils]);\n const [focusedYear, setFocusedYear] = React.useState(() => selectedYear || utils.getYear(referenceDate));\n const [internalHasFocus, setInternalHasFocus] = useControlled({\n name: 'YearCalendar',\n state: 'hasFocus',\n controlled: hasFocus,\n default: autoFocus ?? false\n });\n const changeHasFocus = useEventCallback(newHasFocus => {\n setInternalHasFocus(newHasFocus);\n if (onFocusedViewChange) {\n onFocusedViewChange(newHasFocus);\n }\n });\n const isYearDisabled = React.useCallback(dateToValidate => {\n if (disablePast && utils.isBeforeYear(dateToValidate, now)) {\n return true;\n }\n if (disableFuture && utils.isAfterYear(dateToValidate, now)) {\n return true;\n }\n if (minDate && utils.isBeforeYear(dateToValidate, minDate)) {\n return true;\n }\n if (maxDate && utils.isAfterYear(dateToValidate, maxDate)) {\n return true;\n }\n if (!shouldDisableYear) {\n return false;\n }\n const yearToValidate = utils.startOfYear(dateToValidate);\n return shouldDisableYear(yearToValidate);\n }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableYear, utils]);\n const handleYearSelection = useEventCallback((event, year) => {\n if (readOnly) {\n return;\n }\n const newDate = utils.setYear(value ?? referenceDate, year);\n handleValueChange(newDate);\n });\n const focusYear = useEventCallback(year => {\n if (!isYearDisabled(utils.setYear(value ?? referenceDate, year))) {\n setFocusedYear(year);\n changeHasFocus(true);\n onYearFocus?.(year);\n }\n });\n React.useEffect(() => {\n setFocusedYear(prevFocusedYear => selectedYear !== null && prevFocusedYear !== selectedYear ? selectedYear : prevFocusedYear);\n }, [selectedYear]);\n const handleKeyDown = useEventCallback((event, year) => {\n switch (event.key) {\n case 'ArrowUp':\n focusYear(year - yearsPerRow);\n event.preventDefault();\n break;\n case 'ArrowDown':\n focusYear(year + yearsPerRow);\n event.preventDefault();\n break;\n case 'ArrowLeft':\n focusYear(year + (isRtl ? 1 : -1));\n event.preventDefault();\n break;\n case 'ArrowRight':\n focusYear(year + (isRtl ? -1 : 1));\n event.preventDefault();\n break;\n default:\n break;\n }\n });\n const handleYearFocus = useEventCallback((event, year) => {\n focusYear(year);\n });\n const handleYearBlur = useEventCallback((event, year) => {\n if (focusedYear === year) {\n changeHasFocus(false);\n }\n });\n const scrollerRef = React.useRef(null);\n const handleRef = useForkRef(ref, scrollerRef);\n React.useEffect(() => {\n if (autoFocus || scrollerRef.current === null) {\n return;\n }\n const tabbableButton = scrollerRef.current.querySelector('[tabindex=\"0\"]');\n if (!tabbableButton) {\n return;\n }\n\n // Taken from useScroll in x-data-grid, but vertically centered\n const offsetHeight = tabbableButton.offsetHeight;\n const offsetTop = tabbableButton.offsetTop;\n const clientHeight = scrollerRef.current.clientHeight;\n const scrollTop = scrollerRef.current.scrollTop;\n const elementBottom = offsetTop + offsetHeight;\n if (offsetHeight > clientHeight || offsetTop < scrollTop) {\n // Button already visible\n return;\n }\n scrollerRef.current.scrollTop = elementBottom - clientHeight / 2 - offsetHeight / 2;\n }, [autoFocus]);\n return /*#__PURE__*/_jsx(YearCalendarRoot, _extends({\n ref: handleRef,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"radiogroup\",\n \"aria-labelledby\": gridLabelId\n }, other, {\n children: utils.getYearRange([minDate, maxDate]).map(year => {\n const yearNumber = utils.getYear(year);\n const isSelected = yearNumber === selectedYear;\n const isDisabled = disabled || isYearDisabled(year);\n return /*#__PURE__*/_jsx(PickersYear, {\n selected: isSelected,\n value: yearNumber,\n onClick: handleYearSelection,\n onKeyDown: handleKeyDown,\n autoFocus: internalHasFocus && yearNumber === focusedYear,\n disabled: isDisabled,\n tabIndex: yearNumber === focusedYear && !isDisabled ? 0 : -1,\n onFocus: handleYearFocus,\n onBlur: handleYearBlur,\n \"aria-current\": todayYear === yearNumber ? 'date' : undefined,\n yearsPerRow: yearsPerRow,\n slots: slots,\n slotProps: slotProps,\n children: utils.format(year, 'year')\n }, utils.format(year, 'year'));\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? YearCalendar.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true` picker is disabled\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n gridLabelId: PropTypes.string,\n hasFocus: PropTypes.bool,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Callback fired when the value changes.\n * @template TDate\n * @param {TDate} value The new value.\n */\n onChange: PropTypes.func,\n onFocusedViewChange: PropTypes.func,\n onYearFocus: PropTypes.func,\n /**\n * If `true` picker is readonly\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid year using the validation props, except callbacks such as `shouldDisableYear`.\n */\n referenceDate: PropTypes.object,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * Years rendered per row.\n * @default 3\n */\n yearsPerRow: PropTypes.oneOf([3, 4])\n} : void 0;","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getPickersCalendarHeaderUtilityClass = slot => generateUtilityClass('MuiPickersCalendarHeader', slot);\nexport const pickersCalendarHeaderClasses = generateUtilityClasses('MuiPickersCalendarHeader', ['root', 'labelContainer', 'label', 'switchViewButton', 'switchViewIcon']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"slots\", \"slotProps\", \"currentMonth\", \"disabled\", \"disableFuture\", \"disablePast\", \"maxDate\", \"minDate\", \"onMonthChange\", \"onViewChange\", \"view\", \"reduceAnimations\", \"views\", \"labelId\", \"className\", \"timezone\", \"format\"],\n _excluded2 = [\"ownerState\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport Fade from '@mui/material/Fade';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport IconButton from '@mui/material/IconButton';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { PickersFadeTransitionGroup } from '../DateCalendar/PickersFadeTransitionGroup';\nimport { ArrowDropDownIcon } from '../icons';\nimport { PickersArrowSwitcher } from '../internals/components/PickersArrowSwitcher';\nimport { usePreviousMonthDisabled, useNextMonthDisabled } from '../internals/hooks/date-helpers-hooks';\nimport { getPickersCalendarHeaderUtilityClass, pickersCalendarHeaderClasses } from './pickersCalendarHeaderClasses';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n labelContainer: ['labelContainer'],\n label: ['label'],\n switchViewButton: ['switchViewButton'],\n switchViewIcon: ['switchViewIcon']\n };\n return composeClasses(slots, getPickersCalendarHeaderUtilityClass, classes);\n};\nconst PickersCalendarHeaderRoot = styled('div', {\n name: 'MuiPickersCalendarHeader',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({\n display: 'flex',\n alignItems: 'center',\n marginTop: 12,\n marginBottom: 4,\n paddingLeft: 24,\n paddingRight: 12,\n // prevent jumping in safari\n maxHeight: 40,\n minHeight: 40\n});\nconst PickersCalendarHeaderLabelContainer = styled('div', {\n name: 'MuiPickersCalendarHeader',\n slot: 'LabelContainer',\n overridesResolver: (_, styles) => styles.labelContainer\n})(({\n theme\n}) => _extends({\n display: 'flex',\n overflow: 'hidden',\n alignItems: 'center',\n cursor: 'pointer',\n marginRight: 'auto'\n}, theme.typography.body1, {\n fontWeight: theme.typography.fontWeightMedium\n}));\nconst PickersCalendarHeaderLabel = styled('div', {\n name: 'MuiPickersCalendarHeader',\n slot: 'Label',\n overridesResolver: (_, styles) => styles.label\n})({\n marginRight: 6\n});\nconst PickersCalendarHeaderSwitchViewButton = styled(IconButton, {\n name: 'MuiPickersCalendarHeader',\n slot: 'SwitchViewButton',\n overridesResolver: (_, styles) => styles.switchViewButton\n})({\n marginRight: 'auto',\n variants: [{\n props: {\n view: 'year'\n },\n style: {\n [`.${pickersCalendarHeaderClasses.switchViewIcon}`]: {\n transform: 'rotate(180deg)'\n }\n }\n }]\n});\nconst PickersCalendarHeaderSwitchViewIcon = styled(ArrowDropDownIcon, {\n name: 'MuiPickersCalendarHeader',\n slot: 'SwitchViewIcon',\n overridesResolver: (_, styles) => styles.switchViewIcon\n})(({\n theme\n}) => ({\n willChange: 'transform',\n transition: theme.transitions.create('transform'),\n transform: 'rotate(0deg)'\n}));\n/**\n * Demos:\n *\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n * - [DateRangeCalendar](https://mui.com/x/react-date-pickers/date-range-calendar/)\n * - [Custom slots and subcomponents](https://mui.com/x/react-date-pickers/custom-components/)\n *\n * API:\n *\n * - [PickersCalendarHeader API](https://mui.com/x/api/date-pickers/pickers-calendar-header/)\n */\nconst PickersCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersCalendarHeader(inProps, ref) {\n const translations = usePickersTranslations();\n const utils = useUtils();\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersCalendarHeader'\n });\n const {\n slots,\n slotProps,\n currentMonth: month,\n disabled,\n disableFuture,\n disablePast,\n maxDate,\n minDate,\n onMonthChange,\n onViewChange,\n view,\n reduceAnimations,\n views,\n labelId,\n className,\n timezone,\n format = `${utils.formats.month} ${utils.formats.year}`\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(props);\n const SwitchViewButton = slots?.switchViewButton ?? PickersCalendarHeaderSwitchViewButton;\n const switchViewButtonProps = useSlotProps({\n elementType: SwitchViewButton,\n externalSlotProps: slotProps?.switchViewButton,\n additionalProps: {\n size: 'small',\n 'aria-label': translations.calendarViewSwitchingButtonAriaLabel(view)\n },\n ownerState,\n className: classes.switchViewButton\n });\n const SwitchViewIcon = slots?.switchViewIcon ?? PickersCalendarHeaderSwitchViewIcon;\n // The spread is here to avoid this bug mui/material-ui#34056\n const _useSlotProps = useSlotProps({\n elementType: SwitchViewIcon,\n externalSlotProps: slotProps?.switchViewIcon,\n ownerState,\n className: classes.switchViewIcon\n }),\n switchViewIconProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);\n const selectNextMonth = () => onMonthChange(utils.addMonths(month, 1), 'left');\n const selectPreviousMonth = () => onMonthChange(utils.addMonths(month, -1), 'right');\n const isNextMonthDisabled = useNextMonthDisabled(month, {\n disableFuture,\n maxDate,\n timezone\n });\n const isPreviousMonthDisabled = usePreviousMonthDisabled(month, {\n disablePast,\n minDate,\n timezone\n });\n const handleToggleView = () => {\n if (views.length === 1 || !onViewChange || disabled) {\n return;\n }\n if (views.length === 2) {\n onViewChange(views.find(el => el !== view) || views[0]);\n } else {\n // switching only between first 2\n const nextIndexToOpen = views.indexOf(view) !== 0 ? 0 : 1;\n onViewChange(views[nextIndexToOpen]);\n }\n };\n\n // No need to display more information\n if (views.length === 1 && views[0] === 'year') {\n return null;\n }\n const label = utils.formatByString(month, format);\n return /*#__PURE__*/_jsxs(PickersCalendarHeaderRoot, _extends({}, other, {\n ownerState: ownerState,\n className: clsx(className, classes.root),\n ref: ref,\n children: [/*#__PURE__*/_jsxs(PickersCalendarHeaderLabelContainer, {\n role: \"presentation\",\n onClick: handleToggleView,\n ownerState: ownerState\n // putting this on the label item element below breaks when using transition\n ,\n \"aria-live\": \"polite\",\n className: classes.labelContainer,\n children: [/*#__PURE__*/_jsx(PickersFadeTransitionGroup, {\n reduceAnimations: reduceAnimations,\n transKey: label,\n children: /*#__PURE__*/_jsx(PickersCalendarHeaderLabel, {\n id: labelId,\n ownerState: ownerState,\n className: classes.label,\n children: label\n })\n }), views.length > 1 && !disabled && /*#__PURE__*/_jsx(SwitchViewButton, _extends({}, switchViewButtonProps, {\n children: /*#__PURE__*/_jsx(SwitchViewIcon, _extends({}, switchViewIconProps))\n }))]\n }), /*#__PURE__*/_jsx(Fade, {\n in: view === 'day',\n children: /*#__PURE__*/_jsx(PickersArrowSwitcher, {\n slots: slots,\n slotProps: slotProps,\n onGoToPrevious: selectPreviousMonth,\n isPreviousDisabled: isPreviousMonthDisabled,\n previousLabel: translations.previousMonth,\n onGoToNext: selectNextMonth,\n isNextDisabled: isNextMonthDisabled,\n nextLabel: translations.nextMonth\n })\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersCalendarHeader.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n currentMonth: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n disableFuture: PropTypes.bool,\n disablePast: PropTypes.bool,\n /**\n * Format used to display the date.\n * @default `${adapter.formats.month} ${adapter.formats.year}`\n */\n format: PropTypes.string,\n /**\n * Id of the calendar text element.\n * It is used to establish an `aria-labelledby` relationship with the calendar `grid` element.\n */\n labelId: PropTypes.string,\n maxDate: PropTypes.object.isRequired,\n minDate: PropTypes.object.isRequired,\n onMonthChange: PropTypes.func.isRequired,\n onViewChange: PropTypes.func,\n reduceAnimations: PropTypes.bool.isRequired,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n timezone: PropTypes.string.isRequired,\n view: PropTypes.oneOf(['day', 'month', 'year']).isRequired,\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired).isRequired\n} : void 0;\nexport { PickersCalendarHeader };","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getDateCalendarUtilityClass = slot => generateUtilityClass('MuiDateCalendar', slot);\nexport const dateCalendarClasses = generateUtilityClasses('MuiDateCalendar', ['root', 'viewTransitionContainer']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"onViewChange\", \"value\", \"defaultValue\", \"referenceDate\", \"disableFuture\", \"disablePast\", \"onChange\", \"onYearChange\", \"onMonthChange\", \"reduceAnimations\", \"shouldDisableDate\", \"shouldDisableMonth\", \"shouldDisableYear\", \"view\", \"views\", \"openTo\", \"className\", \"disabled\", \"readOnly\", \"minDate\", \"maxDate\", \"disableHighlightToday\", \"focusedView\", \"onFocusedViewChange\", \"showDaysOutsideCurrentMonth\", \"fixedWeekNumber\", \"dayOfWeekFormatter\", \"slots\", \"slotProps\", \"loading\", \"renderLoading\", \"displayWeekNumber\", \"yearsPerRow\", \"monthsPerRow\", \"timezone\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses, unstable_useId as useId, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport { useCalendarState } from './useCalendarState';\nimport { useDefaultDates, useUtils } from '../internals/hooks/useUtils';\nimport { PickersFadeTransitionGroup } from './PickersFadeTransitionGroup';\nimport { DayCalendar } from './DayCalendar';\nimport { MonthCalendar } from '../MonthCalendar';\nimport { YearCalendar } from '../YearCalendar';\nimport { useViews } from '../internals/hooks/useViews';\nimport { PickersCalendarHeader } from '../PickersCalendarHeader';\nimport { findClosestEnabledDate, applyDefaultDate, mergeDateAndTime } from '../internals/utils/date-utils';\nimport { PickerViewRoot } from '../internals/components/PickerViewRoot';\nimport { useDefaultReduceAnimations } from '../internals/hooks/useDefaultReduceAnimations';\nimport { getDateCalendarUtilityClass } from './dateCalendarClasses';\nimport { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { VIEW_HEIGHT } from '../internals/constants/dimensions';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n viewTransitionContainer: ['viewTransitionContainer']\n };\n return composeClasses(slots, getDateCalendarUtilityClass, classes);\n};\nfunction useDateCalendarDefaultizedProps(props, name) {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const defaultReduceAnimations = useDefaultReduceAnimations();\n const themeProps = useThemeProps({\n props,\n name\n });\n return _extends({}, themeProps, {\n loading: themeProps.loading ?? false,\n disablePast: themeProps.disablePast ?? false,\n disableFuture: themeProps.disableFuture ?? false,\n openTo: themeProps.openTo ?? 'day',\n views: themeProps.views ?? ['year', 'day'],\n reduceAnimations: themeProps.reduceAnimations ?? defaultReduceAnimations,\n renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/_jsx(\"span\", {\n children: \"...\"\n })),\n minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)\n });\n}\nconst DateCalendarRoot = styled(PickerViewRoot, {\n name: 'MuiDateCalendar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex',\n flexDirection: 'column',\n height: VIEW_HEIGHT\n});\nconst DateCalendarViewTransitionContainer = styled(PickersFadeTransitionGroup, {\n name: 'MuiDateCalendar',\n slot: 'ViewTransitionContainer',\n overridesResolver: (props, styles) => styles.viewTransitionContainer\n})({});\n/**\n * Demos:\n *\n * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [DateCalendar API](https://mui.com/x/api/date-pickers/date-calendar/)\n */\nexport const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps, ref) {\n const utils = useUtils();\n const id = useId();\n const props = useDateCalendarDefaultizedProps(inProps, 'MuiDateCalendar');\n const {\n autoFocus,\n onViewChange,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disableFuture,\n disablePast,\n onChange,\n onYearChange,\n onMonthChange,\n reduceAnimations,\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n view: inView,\n views,\n openTo,\n className,\n disabled,\n readOnly,\n minDate,\n maxDate,\n disableHighlightToday,\n focusedView: inFocusedView,\n onFocusedViewChange,\n showDaysOutsideCurrentMonth,\n fixedWeekNumber,\n dayOfWeekFormatter,\n slots,\n slotProps,\n loading,\n renderLoading,\n displayWeekNumber,\n yearsPerRow,\n monthsPerRow,\n timezone: timezoneProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'DateCalendar',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange,\n valueManager: singleItemValueManager\n });\n const {\n view,\n setView,\n focusedView,\n setFocusedView,\n goToNextView,\n setValueAndGoToNextView\n } = useViews({\n view: inView,\n views,\n openTo,\n onChange: handleValueChange,\n onViewChange,\n autoFocus,\n focusedView: inFocusedView,\n onFocusedViewChange\n });\n const {\n referenceDate,\n calendarState,\n changeFocusedDay,\n changeMonth,\n handleChangeMonth,\n isDateDisabled,\n onMonthSwitchingAnimationEnd\n } = useCalendarState({\n value,\n referenceDate: referenceDateProp,\n reduceAnimations,\n onMonthChange,\n minDate,\n maxDate,\n shouldDisableDate,\n disablePast,\n disableFuture,\n timezone\n });\n\n // When disabled, limit the view to the selected date\n const minDateWithDisabled = disabled && value || minDate;\n const maxDateWithDisabled = disabled && value || maxDate;\n const gridLabelId = `${id}-grid-label`;\n const hasFocus = focusedView !== null;\n const CalendarHeader = slots?.calendarHeader ?? PickersCalendarHeader;\n const calendarHeaderProps = useSlotProps({\n elementType: CalendarHeader,\n externalSlotProps: slotProps?.calendarHeader,\n additionalProps: {\n views,\n view,\n currentMonth: calendarState.currentMonth,\n onViewChange: setView,\n onMonthChange: (newMonth, direction) => handleChangeMonth({\n newMonth,\n direction\n }),\n minDate: minDateWithDisabled,\n maxDate: maxDateWithDisabled,\n disabled,\n disablePast,\n disableFuture,\n reduceAnimations,\n timezone,\n labelId: gridLabelId\n },\n ownerState: props\n });\n const handleDateMonthChange = useEventCallback(newDate => {\n const startOfMonth = utils.startOfMonth(newDate);\n const endOfMonth = utils.endOfMonth(newDate);\n const closestEnabledDate = isDateDisabled(newDate) ? findClosestEnabledDate({\n utils,\n date: newDate,\n minDate: utils.isBefore(minDate, startOfMonth) ? startOfMonth : minDate,\n maxDate: utils.isAfter(maxDate, endOfMonth) ? endOfMonth : maxDate,\n disablePast,\n disableFuture,\n isDateDisabled,\n timezone\n }) : newDate;\n if (closestEnabledDate) {\n setValueAndGoToNextView(closestEnabledDate, 'finish');\n onMonthChange?.(startOfMonth);\n } else {\n goToNextView();\n changeMonth(startOfMonth);\n }\n changeFocusedDay(closestEnabledDate, true);\n });\n const handleDateYearChange = useEventCallback(newDate => {\n const startOfYear = utils.startOfYear(newDate);\n const endOfYear = utils.endOfYear(newDate);\n const closestEnabledDate = isDateDisabled(newDate) ? findClosestEnabledDate({\n utils,\n date: newDate,\n minDate: utils.isBefore(minDate, startOfYear) ? startOfYear : minDate,\n maxDate: utils.isAfter(maxDate, endOfYear) ? endOfYear : maxDate,\n disablePast,\n disableFuture,\n isDateDisabled,\n timezone\n }) : newDate;\n if (closestEnabledDate) {\n setValueAndGoToNextView(closestEnabledDate, 'finish');\n onYearChange?.(closestEnabledDate);\n } else {\n goToNextView();\n changeMonth(startOfYear);\n }\n changeFocusedDay(closestEnabledDate, true);\n });\n const handleSelectedDayChange = useEventCallback(day => {\n if (day) {\n // If there is a date already selected, then we want to keep its time\n return handleValueChange(mergeDateAndTime(utils, day, value ?? referenceDate), 'finish', view);\n }\n return handleValueChange(day, 'finish', view);\n });\n React.useEffect(() => {\n if (value != null && utils.isValid(value)) {\n changeMonth(value);\n }\n }, [value]); // eslint-disable-line\n\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const baseDateValidationProps = {\n disablePast,\n disableFuture,\n maxDate,\n minDate\n };\n const commonViewProps = {\n disableHighlightToday,\n readOnly,\n disabled,\n timezone,\n gridLabelId,\n slots,\n slotProps\n };\n const prevOpenViewRef = React.useRef(view);\n React.useEffect(() => {\n // If the view change and the focus was on the previous view\n // Then we update the focus.\n if (prevOpenViewRef.current === view) {\n return;\n }\n if (focusedView === prevOpenViewRef.current) {\n setFocusedView(view, true);\n }\n prevOpenViewRef.current = view;\n }, [focusedView, setFocusedView, view]);\n const selectedDays = React.useMemo(() => [value], [value]);\n return /*#__PURE__*/_jsxs(DateCalendarRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(CalendarHeader, _extends({}, calendarHeaderProps, {\n slots: slots,\n slotProps: slotProps\n })), /*#__PURE__*/_jsx(DateCalendarViewTransitionContainer, {\n reduceAnimations: reduceAnimations,\n className: classes.viewTransitionContainer,\n transKey: view,\n ownerState: ownerState,\n children: /*#__PURE__*/_jsxs(\"div\", {\n children: [view === 'year' && /*#__PURE__*/_jsx(YearCalendar, _extends({}, baseDateValidationProps, commonViewProps, {\n value: value,\n onChange: handleDateYearChange,\n shouldDisableYear: shouldDisableYear,\n hasFocus: hasFocus,\n onFocusedViewChange: isViewFocused => setFocusedView('year', isViewFocused),\n yearsPerRow: yearsPerRow,\n referenceDate: referenceDate\n })), view === 'month' && /*#__PURE__*/_jsx(MonthCalendar, _extends({}, baseDateValidationProps, commonViewProps, {\n hasFocus: hasFocus,\n className: className,\n value: value,\n onChange: handleDateMonthChange,\n shouldDisableMonth: shouldDisableMonth,\n onFocusedViewChange: isViewFocused => setFocusedView('month', isViewFocused),\n monthsPerRow: monthsPerRow,\n referenceDate: referenceDate\n })), view === 'day' && /*#__PURE__*/_jsx(DayCalendar, _extends({}, calendarState, baseDateValidationProps, commonViewProps, {\n onMonthSwitchingAnimationEnd: onMonthSwitchingAnimationEnd,\n onFocusedDayChange: changeFocusedDay,\n reduceAnimations: reduceAnimations,\n selectedDays: selectedDays,\n onSelectedDaysChange: handleSelectedDayChange,\n shouldDisableDate: shouldDisableDate,\n shouldDisableMonth: shouldDisableMonth,\n shouldDisableYear: shouldDisableYear,\n hasFocus: hasFocus,\n onFocusedViewChange: isViewFocused => setFocusedView('day', isViewFocused),\n showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,\n fixedWeekNumber: fixedWeekNumber,\n dayOfWeekFormatter: dayOfWeekFormatter,\n displayWeekNumber: displayWeekNumber,\n loading: loading,\n renderLoading: renderLoading\n }))]\n })\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DateCalendar.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * Formats the day of week displayed in the calendar header.\n * @param {TDate} date The date of the day of week provided by the adapter.\n * @returns {string} The name to display.\n * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()\n */\n dayOfWeekFormatter: PropTypes.func,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * If `true`, the week number will be display in the calendar.\n */\n displayWeekNumber: PropTypes.bool,\n /**\n * The day view will show as many weeks as needed after the end of the current month to match this value.\n * Put it to 6 to have a fixed number of weeks in Gregorian calendars\n */\n fixedWeekNumber: PropTypes.number,\n /**\n * Controlled focused view.\n */\n focusedView: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * If `true`, calls `renderLoading` instead of rendering the day calendar.\n * Can be used to preload information and show it in calendar.\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Months rendered per row.\n * @default 3\n */\n monthsPerRow: PropTypes.oneOf([3, 4]),\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TView The view type. Will be one of date or time views.\n * @param {TValue} value The new value.\n * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.\n * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired on focused view change.\n * @template TView\n * @param {TView} view The new view to focus or not.\n * @param {boolean} hasFocus `true` if the view should be focused.\n */\n onFocusedViewChange: PropTypes.func,\n /**\n * Callback fired on month change.\n * @template TDate\n * @param {TDate} month The new month.\n */\n onMonthChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Callback fired on year change.\n * @template TDate\n * @param {TDate} year The new year.\n */\n onYearChange: PropTypes.func,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Make picker read only.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`.\n */\n referenceDate: PropTypes.object,\n /**\n * Component displaying when passed `loading` true.\n * @returns {React.ReactNode} The node to render when loading.\n * @default () => ...\n */\n renderLoading: PropTypes.func,\n /**\n * Disable specific date.\n *\n * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.\n *\n * @template TDate\n * @param {TDate} day The date to test.\n * @returns {boolean} If `true` the date will be disabled.\n */\n shouldDisableDate: PropTypes.func,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * If `true`, days outside the current month are rendered:\n *\n * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.\n *\n * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.\n *\n * - ignored if `calendars` equals more than `1` on range pickers.\n * @default false\n */\n showDaysOutsideCurrentMonth: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired),\n /**\n * Years rendered per row.\n * @default 3\n */\n yearsPerRow: PropTypes.oneOf([3, 4])\n} : void 0;","import * as React from 'react';\nimport { DateCalendar } from '../DateCalendar';\nimport { isDatePickerView } from '../internals/utils/date-utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const renderDateViewCalendar = ({\n view,\n onViewChange,\n views,\n focusedView,\n onFocusedViewChange,\n value,\n defaultValue,\n referenceDate,\n onChange,\n className,\n classes,\n disableFuture,\n disablePast,\n minDate,\n maxDate,\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n reduceAnimations,\n onMonthChange,\n monthsPerRow,\n onYearChange,\n yearsPerRow,\n slots,\n slotProps,\n loading,\n renderLoading,\n disableHighlightToday,\n readOnly,\n disabled,\n showDaysOutsideCurrentMonth,\n dayOfWeekFormatter,\n sx,\n autoFocus,\n fixedWeekNumber,\n displayWeekNumber,\n timezone\n}) => /*#__PURE__*/_jsx(DateCalendar, {\n view: view,\n onViewChange: onViewChange,\n views: views.filter(isDatePickerView),\n focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,\n onFocusedViewChange: onFocusedViewChange,\n value: value,\n defaultValue: defaultValue,\n referenceDate: referenceDate,\n onChange: onChange,\n className: className,\n classes: classes,\n disableFuture: disableFuture,\n disablePast: disablePast,\n minDate: minDate,\n maxDate: maxDate,\n shouldDisableDate: shouldDisableDate,\n shouldDisableMonth: shouldDisableMonth,\n shouldDisableYear: shouldDisableYear,\n reduceAnimations: reduceAnimations,\n onMonthChange: onMonthChange,\n monthsPerRow: monthsPerRow,\n onYearChange: onYearChange,\n yearsPerRow: yearsPerRow,\n slots: slots,\n slotProps: slotProps,\n loading: loading,\n renderLoading: renderLoading,\n disableHighlightToday: disableHighlightToday,\n readOnly: readOnly,\n disabled: disabled,\n showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,\n dayOfWeekFormatter: dayOfWeekFormatter,\n sx: sx,\n autoFocus: autoFocus,\n fixedWeekNumber: fixedWeekNumber,\n displayWeekNumber: displayWeekNumber,\n timezone: timezone\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveComponentProps from '@mui/utils/resolveComponentProps';\nimport { refType } from '@mui/utils';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { useDatePickerDefaultizedProps } from '../DatePicker/shared';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { validateDate } from '../internals/utils/validation/validateDate';\nimport { useDesktopPicker } from '../internals/hooks/useDesktopPicker';\nimport { CalendarIcon } from '../icons';\nimport { DateField } from '../DateField';\nimport { extractValidationProps } from '../internals/utils/validation/extractValidationProps';\nimport { renderDateViewCalendar } from '../dateViewRenderers';\nimport { resolveDateFormat } from '../internals/utils/date-utils';\n/**\n * Demos:\n *\n * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)\n */\nconst DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {\n const translations = usePickersTranslations();\n const utils = useUtils();\n\n // Props with the default values common to all date pickers\n const defaultizedProps = useDatePickerDefaultizedProps(inProps, 'MuiDesktopDatePicker');\n const viewRenderers = _extends({\n day: renderDateViewCalendar,\n month: renderDateViewCalendar,\n year: renderDateViewCalendar\n }, defaultizedProps.viewRenderers);\n\n // Props with the default values specific to the desktop variant\n const props = _extends({}, defaultizedProps, {\n viewRenderers,\n format: resolveDateFormat(utils, defaultizedProps, false),\n yearsPerRow: defaultizedProps.yearsPerRow ?? 4,\n slots: _extends({\n openPickerIcon: CalendarIcon,\n field: DateField\n }, defaultizedProps.slots),\n slotProps: _extends({}, defaultizedProps.slotProps, {\n field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {\n ref\n }),\n toolbar: _extends({\n hidden: true\n }, defaultizedProps.slotProps?.toolbar)\n })\n });\n const {\n renderPicker\n } = useDesktopPicker({\n props,\n valueManager: singleItemValueManager,\n valueType: 'date',\n getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? translations.openDatePickerDialogue,\n validator: validateDate\n });\n return renderPicker();\n});\nDesktopDatePicker.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * If `true`, the popover or modal will close after submitting the full date.\n * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).\n */\n closeOnSelect: PropTypes.bool,\n /**\n * Formats the day of week displayed in the calendar header.\n * @param {TDate} date The date of the day of week provided by the adapter.\n * @returns {string} The name to display.\n * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()\n */\n dayOfWeekFormatter: PropTypes.func,\n /**\n * The default value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, the open picker button will not be rendered (renders only the field).\n * @default false\n */\n disableOpenPicker: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * If `true`, the week number will be display in the calendar.\n */\n displayWeekNumber: PropTypes.bool,\n /**\n * @default false\n */\n enableAccessibleFieldDOMStructure: PropTypes.any,\n /**\n * The day view will show as many weeks as needed after the end of the current month to match this value.\n * Put it to 6 to have a fixed number of weeks in Gregorian calendars\n */\n fixedWeekNumber: PropTypes.number,\n /**\n * Format of the date when rendered in the input(s).\n * Defaults to localized format based on the used `views`.\n */\n format: PropTypes.string,\n /**\n * Density of the format when rendered in the input.\n * Setting `formatDensity` to `\"spacious\"` will add a space before and after each `/`, `-` and `.` character.\n * @default \"dense\"\n */\n formatDensity: PropTypes.oneOf(['dense', 'spacious']),\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `true`, calls `renderLoading` instead of rendering the day calendar.\n * Can be used to preload information and show it in calendar.\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Locale for components texts.\n * Allows overriding texts coming from `LocalizationProvider` and `theme`.\n */\n localeText: PropTypes.object,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Months rendered per row.\n * @default 3\n */\n monthsPerRow: PropTypes.oneOf([3, 4]),\n /**\n * Name attribute used by the `input` element in the Field.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is accepted.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The value that was just accepted.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onAccept: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see `open`).\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the error associated to the current value changes.\n * If the error has a non-null value, then the `TextField` will be rendered in `error` state.\n *\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TError} error The new error describing why the current value is not valid.\n * @param {TValue} value The value associated to the error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired on month change.\n * @template TDate\n * @param {TDate} month The new month.\n */\n onMonthChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see `open`).\n */\n onOpen: PropTypes.func,\n /**\n * Callback fired when the selected sections change.\n * @param {FieldSelectedSections} newValue The new selected sections.\n */\n onSelectedSectionsChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Callback fired on year change.\n * @template TDate\n * @param {TDate} year The new year.\n */\n onYearChange: PropTypes.func,\n /**\n * Control the popup or dialog open state.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.\n */\n referenceDate: PropTypes.object,\n /**\n * Component displaying when passed `loading` true.\n * @returns {React.ReactNode} The node to render when loading.\n * @default () => ...\n */\n renderLoading: PropTypes.func,\n /**\n * The currently selected sections.\n * This prop accepts four formats:\n * 1. If a number is provided, the section at this index will be selected.\n * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.\n * 3. If `\"all\"` is provided, all the sections will be selected.\n * 4. If `null` is provided, no section will be selected.\n * If not provided, the selected sections will be handled internally.\n */\n selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),\n /**\n * Disable specific date.\n *\n * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.\n *\n * @template TDate\n * @param {TDate} day The date to test.\n * @returns {boolean} If `true` the date will be disabled.\n */\n shouldDisableDate: PropTypes.func,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * If `true`, days outside the current month are rendered:\n *\n * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.\n *\n * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.\n *\n * - ignored if `calendars` equals more than `1` on range pickers.\n * @default false\n */\n showDaysOutsideCurrentMonth: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Define custom view renderers for each section.\n * If `null`, the section will only have field editing.\n * If `undefined`, internally defined view will be used.\n */\n viewRenderers: PropTypes.shape({\n day: PropTypes.func,\n month: PropTypes.func,\n year: PropTypes.func\n }),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired),\n /**\n * Years rendered per row.\n * @default 4\n */\n yearsPerRow: PropTypes.oneOf([3, 4])\n};\nexport { DesktopDatePicker };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveComponentProps from '@mui/utils/resolveComponentProps';\nimport { refType } from '@mui/utils';\nimport { useMobilePicker } from '../internals/hooks/useMobilePicker';\nimport { useDatePickerDefaultizedProps } from '../DatePicker/shared';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { validateDate } from '../internals/utils/validation/validateDate';\nimport { DateField } from '../DateField';\nimport { extractValidationProps } from '../internals/utils/validation/extractValidationProps';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { renderDateViewCalendar } from '../dateViewRenderers';\nimport { resolveDateFormat } from '../internals/utils/date-utils';\n/**\n * Demos:\n *\n * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)\n */\nconst MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {\n const translations = usePickersTranslations();\n const utils = useUtils();\n\n // Props with the default values common to all date pickers\n const defaultizedProps = useDatePickerDefaultizedProps(inProps, 'MuiMobileDatePicker');\n const viewRenderers = _extends({\n day: renderDateViewCalendar,\n month: renderDateViewCalendar,\n year: renderDateViewCalendar\n }, defaultizedProps.viewRenderers);\n\n // Props with the default values specific to the mobile variant\n const props = _extends({}, defaultizedProps, {\n viewRenderers,\n format: resolveDateFormat(utils, defaultizedProps, false),\n slots: _extends({\n field: DateField\n }, defaultizedProps.slots),\n slotProps: _extends({}, defaultizedProps.slotProps, {\n field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {\n ref\n }),\n toolbar: _extends({\n hidden: false\n }, defaultizedProps.slotProps?.toolbar)\n })\n });\n const {\n renderPicker\n } = useMobilePicker({\n props,\n valueManager: singleItemValueManager,\n valueType: 'date',\n getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? translations.openDatePickerDialogue,\n validator: validateDate\n });\n return renderPicker();\n});\nMobileDatePicker.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * If `true`, the popover or modal will close after submitting the full date.\n * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).\n */\n closeOnSelect: PropTypes.bool,\n /**\n * Formats the day of week displayed in the calendar header.\n * @param {TDate} date The date of the day of week provided by the adapter.\n * @returns {string} The name to display.\n * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()\n */\n dayOfWeekFormatter: PropTypes.func,\n /**\n * The default value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, the open picker button will not be rendered (renders only the field).\n * @default false\n */\n disableOpenPicker: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * If `true`, the week number will be display in the calendar.\n */\n displayWeekNumber: PropTypes.bool,\n /**\n * @default false\n */\n enableAccessibleFieldDOMStructure: PropTypes.any,\n /**\n * The day view will show as many weeks as needed after the end of the current month to match this value.\n * Put it to 6 to have a fixed number of weeks in Gregorian calendars\n */\n fixedWeekNumber: PropTypes.number,\n /**\n * Format of the date when rendered in the input(s).\n * Defaults to localized format based on the used `views`.\n */\n format: PropTypes.string,\n /**\n * Density of the format when rendered in the input.\n * Setting `formatDensity` to `\"spacious\"` will add a space before and after each `/`, `-` and `.` character.\n * @default \"dense\"\n */\n formatDensity: PropTypes.oneOf(['dense', 'spacious']),\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `true`, calls `renderLoading` instead of rendering the day calendar.\n * Can be used to preload information and show it in calendar.\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Locale for components texts.\n * Allows overriding texts coming from `LocalizationProvider` and `theme`.\n */\n localeText: PropTypes.object,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Months rendered per row.\n * @default 3\n */\n monthsPerRow: PropTypes.oneOf([3, 4]),\n /**\n * Name attribute used by the `input` element in the Field.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is accepted.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The value that was just accepted.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onAccept: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see `open`).\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the error associated to the current value changes.\n * If the error has a non-null value, then the `TextField` will be rendered in `error` state.\n *\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TError} error The new error describing why the current value is not valid.\n * @param {TValue} value The value associated to the error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired on month change.\n * @template TDate\n * @param {TDate} month The new month.\n */\n onMonthChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see `open`).\n */\n onOpen: PropTypes.func,\n /**\n * Callback fired when the selected sections change.\n * @param {FieldSelectedSections} newValue The new selected sections.\n */\n onSelectedSectionsChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Callback fired on year change.\n * @template TDate\n * @param {TDate} year The new year.\n */\n onYearChange: PropTypes.func,\n /**\n * Control the popup or dialog open state.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.\n */\n referenceDate: PropTypes.object,\n /**\n * Component displaying when passed `loading` true.\n * @returns {React.ReactNode} The node to render when loading.\n * @default () => ...\n */\n renderLoading: PropTypes.func,\n /**\n * The currently selected sections.\n * This prop accepts four formats:\n * 1. If a number is provided, the section at this index will be selected.\n * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.\n * 3. If `\"all\"` is provided, all the sections will be selected.\n * 4. If `null` is provided, no section will be selected.\n * If not provided, the selected sections will be handled internally.\n */\n selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),\n /**\n * Disable specific date.\n *\n * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.\n *\n * @template TDate\n * @param {TDate} day The date to test.\n * @returns {boolean} If `true` the date will be disabled.\n */\n shouldDisableDate: PropTypes.func,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * If `true`, days outside the current month are rendered:\n *\n * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.\n *\n * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.\n *\n * - ignored if `calendars` equals more than `1` on range pickers.\n * @default false\n */\n showDaysOutsideCurrentMonth: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Define custom view renderers for each section.\n * If `null`, the section will only have field editing.\n * If `undefined`, internally defined view will be used.\n */\n viewRenderers: PropTypes.shape({\n day: PropTypes.func,\n month: PropTypes.func,\n year: PropTypes.func\n }),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired),\n /**\n * Years rendered per row.\n * @default 3\n */\n yearsPerRow: PropTypes.oneOf([3, 4])\n};\nexport { MobileDatePicker };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"desktopModeMediaQuery\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { useThemeProps } from '@mui/material/styles';\nimport { refType } from '@mui/utils';\nimport { DesktopDatePicker } from '../DesktopDatePicker';\nimport { MobileDatePicker } from '../MobileDatePicker';\nimport { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from '../internals/utils/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Demos:\n *\n * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [DatePicker API](https://mui.com/x/api/date-pickers/date-picker/)\n */\nconst DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDatePicker'\n });\n const {\n desktopModeMediaQuery = DEFAULT_DESKTOP_MODE_MEDIA_QUERY\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n // defaults to `true` in environments where `window.matchMedia` would not be available (i.e. test/jsdom)\n const isDesktop = useMediaQuery(desktopModeMediaQuery, {\n defaultMatches: true\n });\n if (isDesktop) {\n return /*#__PURE__*/_jsx(DesktopDatePicker, _extends({\n ref: ref\n }, other));\n }\n return /*#__PURE__*/_jsx(MobileDatePicker, _extends({\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DatePicker.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * If `true`, the popover or modal will close after submitting the full date.\n * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).\n */\n closeOnSelect: PropTypes.bool,\n /**\n * Formats the day of week displayed in the calendar header.\n * @param {TDate} date The date of the day of week provided by the adapter.\n * @returns {string} The name to display.\n * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()\n */\n dayOfWeekFormatter: PropTypes.func,\n /**\n * The default value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * CSS media query when `Mobile` mode will be changed to `Desktop`.\n * @default '@media (pointer: fine)'\n * @example '@media (min-width: 720px)' or theme.breakpoints.up(\"sm\")\n */\n desktopModeMediaQuery: PropTypes.string,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, the open picker button will not be rendered (renders only the field).\n * @default false\n */\n disableOpenPicker: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * If `true`, the week number will be display in the calendar.\n */\n displayWeekNumber: PropTypes.bool,\n /**\n * @default false\n */\n enableAccessibleFieldDOMStructure: PropTypes.any,\n /**\n * The day view will show as many weeks as needed after the end of the current month to match this value.\n * Put it to 6 to have a fixed number of weeks in Gregorian calendars\n */\n fixedWeekNumber: PropTypes.number,\n /**\n * Format of the date when rendered in the input(s).\n * Defaults to localized format based on the used `views`.\n */\n format: PropTypes.string,\n /**\n * Density of the format when rendered in the input.\n * Setting `formatDensity` to `\"spacious\"` will add a space before and after each `/`, `-` and `.` character.\n * @default \"dense\"\n */\n formatDensity: PropTypes.oneOf(['dense', 'spacious']),\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `true`, calls `renderLoading` instead of rendering the day calendar.\n * Can be used to preload information and show it in calendar.\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Locale for components texts.\n * Allows overriding texts coming from `LocalizationProvider` and `theme`.\n */\n localeText: PropTypes.object,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Months rendered per row.\n * @default 3\n */\n monthsPerRow: PropTypes.oneOf([3, 4]),\n /**\n * Name attribute used by the `input` element in the Field.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is accepted.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The value that was just accepted.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onAccept: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see `open`).\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the error associated to the current value changes.\n * If the error has a non-null value, then the `TextField` will be rendered in `error` state.\n *\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TError} error The new error describing why the current value is not valid.\n * @param {TValue} value The value associated to the error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired on month change.\n * @template TDate\n * @param {TDate} month The new month.\n */\n onMonthChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see `open`).\n */\n onOpen: PropTypes.func,\n /**\n * Callback fired when the selected sections change.\n * @param {FieldSelectedSections} newValue The new selected sections.\n */\n onSelectedSectionsChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Callback fired on year change.\n * @template TDate\n * @param {TDate} year The new year.\n */\n onYearChange: PropTypes.func,\n /**\n * Control the popup or dialog open state.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.\n */\n referenceDate: PropTypes.object,\n /**\n * Component displaying when passed `loading` true.\n * @returns {React.ReactNode} The node to render when loading.\n * @default () => ...\n */\n renderLoading: PropTypes.func,\n /**\n * The currently selected sections.\n * This prop accepts four formats:\n * 1. If a number is provided, the section at this index will be selected.\n * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.\n * 3. If `\"all\"` is provided, all the sections will be selected.\n * 4. If `null` is provided, no section will be selected.\n * If not provided, the selected sections will be handled internally.\n */\n selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),\n /**\n * Disable specific date.\n *\n * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.\n *\n * @template TDate\n * @param {TDate} day The date to test.\n * @returns {boolean} If `true` the date will be disabled.\n */\n shouldDisableDate: PropTypes.func,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * If `true`, days outside the current month are rendered:\n *\n * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.\n *\n * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.\n *\n * - ignored if `calendars` equals more than `1` on range pickers.\n * @default false\n */\n showDaysOutsideCurrentMonth: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Define custom view renderers for each section.\n * If `null`, the section will only have field editing.\n * If `undefined`, internally defined view will be used.\n */\n viewRenderers: PropTypes.shape({\n day: PropTypes.func,\n month: PropTypes.func,\n year: PropTypes.func\n }),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired),\n /**\n * Years rendered per row.\n * @default 4 on desktop, 3 on mobile\n */\n yearsPerRow: PropTypes.oneOf([3, 4])\n} : void 0;\nexport { DatePicker };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"localeText\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useThemeProps } from '@mui/material/styles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const MuiPickersAdapterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n MuiPickersAdapterContext.displayName = 'MuiPickersAdapterContext';\n}\n/**\n * Demos:\n *\n * - [Date format and localization](https://mui.com/x/react-date-pickers/adapters-locale/)\n * - [Calendar systems](https://mui.com/x/react-date-pickers/calendar-systems/)\n * - [Translated components](https://mui.com/x/react-date-pickers/localization/)\n * - [UTC and timezones](https://mui.com/x/react-date-pickers/timezone/)\n *\n * API:\n *\n * - [LocalizationProvider API](https://mui.com/x/api/date-pickers/localization-provider/)\n */\nexport const LocalizationProvider = function LocalizationProvider(inProps) {\n const {\n localeText: inLocaleText\n } = inProps,\n otherInProps = _objectWithoutPropertiesLoose(inProps, _excluded);\n const {\n utils: parentUtils,\n localeText: parentLocaleText\n } = React.useContext(MuiPickersAdapterContext) ?? {\n utils: undefined,\n localeText: undefined\n };\n const props = useThemeProps({\n // We don't want to pass the `localeText` prop to the theme, that way it will always return the theme value,\n // We will then merge this theme value with our value manually\n props: otherInProps,\n name: 'MuiLocalizationProvider'\n });\n const {\n children,\n dateAdapter: DateAdapter,\n dateFormats,\n dateLibInstance,\n adapterLocale,\n localeText: themeLocaleText\n } = props;\n const localeText = React.useMemo(() => _extends({}, themeLocaleText, parentLocaleText, inLocaleText), [themeLocaleText, parentLocaleText, inLocaleText]);\n const utils = React.useMemo(() => {\n if (!DateAdapter) {\n if (parentUtils) {\n return parentUtils;\n }\n return null;\n }\n const adapter = new DateAdapter({\n locale: adapterLocale,\n formats: dateFormats,\n instance: dateLibInstance\n });\n if (!adapter.isMUIAdapter) {\n throw new Error(['MUI X: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`', \"For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`\", 'More information on the installation documentation: https://mui.com/x/react-date-pickers/getting-started/#installation'].join(`\\n`));\n }\n return adapter;\n }, [DateAdapter, adapterLocale, dateFormats, dateLibInstance, parentUtils]);\n const defaultDates = React.useMemo(() => {\n if (!utils) {\n return null;\n }\n return {\n minDate: utils.date('1900-01-01T00:00:00.000'),\n maxDate: utils.date('2099-12-31T00:00:00.000')\n };\n }, [utils]);\n const contextValue = React.useMemo(() => {\n return {\n utils,\n defaultDates,\n localeText\n };\n }, [defaultDates, utils, localeText]);\n return /*#__PURE__*/_jsx(MuiPickersAdapterContext.Provider, {\n value: contextValue,\n children: children\n });\n};\nprocess.env.NODE_ENV !== \"production\" ? LocalizationProvider.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Locale for the date library you are using\n */\n adapterLocale: PropTypes.any,\n children: PropTypes.node,\n /**\n * Date library adapter class function.\n * @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.\n */\n dateAdapter: PropTypes.func,\n /**\n * Formats that are used for any child pickers\n */\n dateFormats: PropTypes.shape({\n dayOfMonth: PropTypes.string,\n dayOfMonthFull: PropTypes.string,\n fullDate: PropTypes.string,\n fullTime: PropTypes.string,\n fullTime12h: PropTypes.string,\n fullTime24h: PropTypes.string,\n hours12h: PropTypes.string,\n hours24h: PropTypes.string,\n keyboardDate: PropTypes.string,\n keyboardDateTime: PropTypes.string,\n keyboardDateTime12h: PropTypes.string,\n keyboardDateTime24h: PropTypes.string,\n meridiem: PropTypes.string,\n minutes: PropTypes.string,\n month: PropTypes.string,\n monthShort: PropTypes.string,\n normalDate: PropTypes.string,\n normalDateWithWeekday: PropTypes.string,\n seconds: PropTypes.string,\n shortDate: PropTypes.string,\n weekday: PropTypes.string,\n weekdayShort: PropTypes.string,\n year: PropTypes.string\n }),\n /**\n * Date library instance you are using, if it has some global overrides\n * ```jsx\n * dateLibInstance={momentTimeZone}\n * ```\n */\n dateLibInstance: PropTypes.any,\n /**\n * Locale for components texts\n */\n localeText: PropTypes.object\n} : void 0;","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getPickersLayoutUtilityClass(slot) {\n return generateUtilityClass('MuiPickersLayout', slot);\n}\nexport const pickersLayoutClasses = generateUtilityClasses('MuiPickersLayout', ['root', 'landscape', 'contentWrapper', 'toolbar', 'actionBar', 'tabs', 'shortcuts']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onAccept\", \"onClear\", \"onCancel\", \"onSetToday\", \"actions\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport DialogActions from '@mui/material/DialogActions';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Demos:\n *\n * - [Custom slots and subcomponents](https://mui.com/x/react-date-pickers/custom-components/)\n * - [Custom layout](https://mui.com/x/react-date-pickers/custom-layout/)\n *\n * API:\n *\n * - [PickersActionBar API](https://mui.com/x/api/date-pickers/pickers-action-bar/)\n */\nfunction PickersActionBar(props) {\n const {\n onAccept,\n onClear,\n onCancel,\n onSetToday,\n actions\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const translations = usePickersTranslations();\n if (actions == null || actions.length === 0) {\n return null;\n }\n const buttons = actions?.map(actionType => {\n switch (actionType) {\n case 'clear':\n return /*#__PURE__*/_jsx(Button, {\n onClick: onClear,\n children: translations.clearButtonLabel\n }, actionType);\n case 'cancel':\n return /*#__PURE__*/_jsx(Button, {\n onClick: onCancel,\n children: translations.cancelButtonLabel\n }, actionType);\n case 'accept':\n return /*#__PURE__*/_jsx(Button, {\n onClick: onAccept,\n children: translations.okButtonLabel\n }, actionType);\n case 'today':\n return /*#__PURE__*/_jsx(Button, {\n onClick: onSetToday,\n children: translations.todayButtonLabel\n }, actionType);\n default:\n return null;\n }\n });\n return /*#__PURE__*/_jsx(DialogActions, _extends({}, other, {\n children: buttons\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? PickersActionBar.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Ordered array of actions to display.\n * If empty, does not display that action bar.\n * @default `['cancel', 'accept']` for mobile and `[]` for desktop\n */\n actions: PropTypes.arrayOf(PropTypes.oneOf(['accept', 'cancel', 'clear', 'today']).isRequired),\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n onAccept: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onSetToday: PropTypes.func.isRequired,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport { PickersActionBar };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"items\", \"changeImportance\", \"isLandscape\", \"onChange\", \"isValid\"],\n _excluded2 = [\"getValue\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport Chip from '@mui/material/Chip';\nimport { VIEW_HEIGHT } from '../internals/constants/dimensions';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Demos:\n *\n * - [Shortcuts](https://mui.com/x/react-date-pickers/shortcuts/)\n *\n * API:\n *\n * - [PickersShortcuts API](https://mui.com/x/api/date-pickers/pickers-shortcuts/)\n */\nfunction PickersShortcuts(props) {\n const {\n items,\n changeImportance = 'accept',\n onChange,\n isValid\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n if (items == null || items.length === 0) {\n return null;\n }\n const resolvedItems = items.map(_ref => {\n let {\n getValue\n } = _ref,\n item = _objectWithoutPropertiesLoose(_ref, _excluded2);\n const newValue = getValue({\n isValid\n });\n return _extends({}, item, {\n label: item.label,\n onClick: () => {\n onChange(newValue, changeImportance, item);\n },\n disabled: !isValid(newValue)\n });\n });\n return /*#__PURE__*/_jsx(List, _extends({\n dense: true,\n sx: [{\n maxHeight: VIEW_HEIGHT,\n maxWidth: 200,\n overflow: 'auto'\n }, ...(Array.isArray(other.sx) ? other.sx : [other.sx])]\n }, other, {\n children: resolvedItems.map(item => {\n return /*#__PURE__*/_jsx(ListItem, {\n children: /*#__PURE__*/_jsx(Chip, _extends({}, item))\n }, item.id ?? item.label);\n })\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? PickersShortcuts.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Importance of the change when picking a shortcut:\n * - \"accept\": fires `onChange`, fires `onAccept` and closes the picker.\n * - \"set\": fires `onChange` but do not fire `onAccept` and does not close the picker.\n * @default \"accept\"\n */\n changeImportance: PropTypes.oneOf(['accept', 'set']),\n className: PropTypes.string,\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, vertical padding is removed from the list.\n * @default false\n */\n disablePadding: PropTypes.bool,\n isLandscape: PropTypes.bool.isRequired,\n isValid: PropTypes.func.isRequired,\n /**\n * Ordered array of shortcuts to display.\n * If empty, does not display the shortcuts.\n * @default []\n */\n items: PropTypes.arrayOf(PropTypes.shape({\n getValue: PropTypes.func.isRequired,\n id: PropTypes.string,\n label: PropTypes.string.isRequired\n })),\n onChange: PropTypes.func.isRequired,\n style: PropTypes.object,\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport { PickersShortcuts };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { PickersActionBar } from '../PickersActionBar';\nimport { getPickersLayoutUtilityClass } from './pickersLayoutClasses';\nimport { PickersShortcuts } from '../PickersShortcuts';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction toolbarHasView(toolbarProps) {\n return toolbarProps.view !== null;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n isLandscape\n } = ownerState;\n const slots = {\n root: ['root', isLandscape && 'landscape'],\n contentWrapper: ['contentWrapper'],\n toolbar: ['toolbar'],\n actionBar: ['actionBar'],\n tabs: ['tabs'],\n landscape: ['landscape'],\n shortcuts: ['shortcuts']\n };\n return composeClasses(slots, getPickersLayoutUtilityClass, classes);\n};\nconst usePickerLayout = props => {\n const {\n wrapperVariant,\n onAccept,\n onClear,\n onCancel,\n onSetToday,\n view,\n views,\n onViewChange,\n value,\n onChange,\n onSelectShortcut,\n isValid,\n isLandscape,\n disabled,\n readOnly,\n children,\n slots,\n slotProps\n // TODO: Remove this \"as\" hack. It get introduced to mark `value` prop in PickersLayoutProps as not required.\n // The true type should be\n // - For pickers value: TDate | null\n // - For range pickers value: [TDate | null, TDate | null]\n } = props;\n const classes = useUtilityClasses(props);\n\n // Action bar\n const ActionBar = slots?.actionBar ?? PickersActionBar;\n const actionBarProps = useSlotProps({\n elementType: ActionBar,\n externalSlotProps: slotProps?.actionBar,\n additionalProps: {\n onAccept,\n onClear,\n onCancel,\n onSetToday,\n actions: wrapperVariant === 'desktop' ? [] : ['cancel', 'accept']\n },\n className: classes.actionBar,\n ownerState: _extends({}, props, {\n wrapperVariant\n })\n });\n const actionBar = /*#__PURE__*/_jsx(ActionBar, _extends({}, actionBarProps));\n\n // Toolbar\n const Toolbar = slots?.toolbar;\n const toolbarProps = useSlotProps({\n elementType: Toolbar,\n externalSlotProps: slotProps?.toolbar,\n additionalProps: {\n isLandscape,\n onChange,\n value,\n view,\n onViewChange,\n views,\n disabled,\n readOnly\n },\n className: classes.toolbar,\n ownerState: _extends({}, props, {\n wrapperVariant\n })\n });\n const toolbar = toolbarHasView(toolbarProps) && !!Toolbar ? /*#__PURE__*/_jsx(Toolbar, _extends({}, toolbarProps)) : null;\n\n // Content\n const content = children;\n\n // Tabs\n const Tabs = slots?.tabs;\n const tabs = view && Tabs ? /*#__PURE__*/_jsx(Tabs, _extends({\n view: view,\n onViewChange: onViewChange,\n className: classes.tabs\n }, slotProps?.tabs)) : null;\n\n // Shortcuts\n const Shortcuts = slots?.shortcuts ?? PickersShortcuts;\n const shortcutsProps = useSlotProps({\n elementType: Shortcuts,\n externalSlotProps: slotProps?.shortcuts,\n additionalProps: {\n isValid,\n isLandscape,\n onChange: onSelectShortcut\n },\n className: classes.shortcuts,\n ownerState: {\n isValid,\n isLandscape,\n onChange: onSelectShortcut,\n wrapperVariant\n }\n });\n const shortcuts = view && !!Shortcuts ? /*#__PURE__*/_jsx(Shortcuts, _extends({}, shortcutsProps)) : null;\n return {\n toolbar,\n content,\n tabs,\n actionBar,\n shortcuts\n };\n};\nexport default usePickerLayout;","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { pickersLayoutClasses, getPickersLayoutUtilityClass } from './pickersLayoutClasses';\nimport usePickerLayout from './usePickerLayout';\nimport { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n isLandscape,\n classes\n } = ownerState;\n const slots = {\n root: ['root', isLandscape && 'landscape'],\n contentWrapper: ['contentWrapper']\n };\n return composeClasses(slots, getPickersLayoutUtilityClass, classes);\n};\nexport const PickersLayoutRoot = styled('div', {\n name: 'MuiPickersLayout',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'grid',\n gridAutoColumns: 'max-content auto max-content',\n gridAutoRows: 'max-content auto max-content',\n [`& .${pickersLayoutClasses.actionBar}`]: {\n gridColumn: '1 / 4',\n gridRow: 3\n },\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n [`& .${pickersLayoutClasses.toolbar}`]: {\n gridColumn: 1,\n gridRow: '2 / 3'\n },\n [`.${pickersLayoutClasses.shortcuts}`]: {\n gridColumn: '2 / 4',\n gridRow: 1\n }\n }\n }, {\n props: {\n isLandscape: true,\n isRtl: true\n },\n style: {\n [`& .${pickersLayoutClasses.toolbar}`]: {\n gridColumn: 3\n }\n }\n }, {\n props: {\n isLandscape: false\n },\n style: {\n [`& .${pickersLayoutClasses.toolbar}`]: {\n gridColumn: '2 / 4',\n gridRow: 1\n },\n [`& .${pickersLayoutClasses.shortcuts}`]: {\n gridColumn: 1,\n gridRow: '2 / 3'\n }\n }\n }, {\n props: {\n isLandscape: false,\n isRtl: true\n },\n style: {\n [`& .${pickersLayoutClasses.shortcuts}`]: {\n gridColumn: 3\n }\n }\n }]\n});\nexport const PickersLayoutContentWrapper = styled('div', {\n name: 'MuiPickersLayout',\n slot: 'ContentWrapper',\n overridesResolver: (props, styles) => styles.contentWrapper\n})({\n gridColumn: 2,\n gridRow: 2,\n display: 'flex',\n flexDirection: 'column'\n});\n/**\n * Demos:\n *\n * - [Custom layout](https://mui.com/x/react-date-pickers/custom-layout/)\n *\n * API:\n *\n * - [PickersLayout API](https://mui.com/x/api/date-pickers/pickers-layout/)\n */\nconst PickersLayout = /*#__PURE__*/React.forwardRef(function PickersLayout(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersLayout'\n });\n const {\n toolbar,\n content,\n tabs,\n actionBar,\n shortcuts\n } = usePickerLayout(props);\n const {\n sx,\n className,\n isLandscape,\n wrapperVariant\n } = props;\n const classes = useUtilityClasses(props);\n return /*#__PURE__*/_jsxs(PickersLayoutRoot, {\n ref: ref,\n sx: sx,\n className: clsx(className, classes.root),\n ownerState: props,\n children: [isLandscape ? shortcuts : toolbar, isLandscape ? toolbar : shortcuts, /*#__PURE__*/_jsx(PickersLayoutContentWrapper, {\n className: classes.contentWrapper,\n children: wrapperVariant === 'desktop' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [content, tabs]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [tabs, content]\n })\n }), actionBar]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersLayout.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n isLandscape: PropTypes.bool.isRequired,\n /**\n * `true` if the application is in right-to-left direction.\n */\n isRtl: PropTypes.bool.isRequired,\n isValid: PropTypes.func.isRequired,\n onAccept: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n onDismiss: PropTypes.func.isRequired,\n onOpen: PropTypes.func.isRequired,\n onSelectShortcut: PropTypes.func.isRequired,\n onSetToday: PropTypes.func.isRequired,\n onViewChange: PropTypes.func.isRequired,\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n value: PropTypes.any,\n view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired,\n wrapperVariant: PropTypes.oneOf(['desktop', 'mobile'])\n} : void 0;\nexport { PickersLayout };","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getPickersTextFieldUtilityClass(slot) {\n return generateUtilityClass('MuiPickersTextField', slot);\n}\nexport const pickersTextFieldClasses = generateUtilityClasses('MuiPickersTextField', ['root', 'focused', 'disabled', 'error', 'required']);","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getPickersInputBaseUtilityClass(slot) {\n return generateUtilityClass('MuiPickersInputBase', slot);\n}\nexport const pickersInputBaseClasses = generateUtilityClasses('MuiPickersInputBase', ['root', 'focused', 'disabled', 'error', 'notchedOutline', 'sectionContent', 'sectionBefore', 'sectionAfter', 'adornedStart', 'adornedEnd', 'input']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { pickersInputBaseClasses } from '../PickersInputBase';\nexport function getPickersOutlinedInputUtilityClass(slot) {\n return generateUtilityClass('MuiPickersOutlinedInput', slot);\n}\nexport const pickersOutlinedInputClasses = _extends({}, pickersInputBaseClasses, generateUtilityClasses('MuiPickersOutlinedInput', ['root', 'notchedOutline', 'input']));","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"label\", \"notched\", \"shrink\"];\nimport * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst OutlineRoot = styled('fieldset', {\n name: 'MuiPickersOutlinedInput',\n slot: 'NotchedOutline',\n overridesResolver: (props, styles) => styles.notchedOutline\n})(({\n theme\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return {\n textAlign: 'left',\n position: 'absolute',\n bottom: 0,\n right: 0,\n top: -5,\n left: 0,\n margin: 0,\n padding: '0 8px',\n pointerEvents: 'none',\n borderRadius: 'inherit',\n borderStyle: 'solid',\n borderWidth: 1,\n overflow: 'hidden',\n minWidth: '0%',\n borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor\n };\n});\nconst OutlineLabel = styled('span')(({\n theme\n}) => ({\n fontFamily: theme.typography.fontFamily,\n fontSize: 'inherit'\n}));\nconst OutlineLegend = styled('legend')(({\n theme\n}) => ({\n float: 'unset',\n // Fix conflict with bootstrap\n width: 'auto',\n // Fix conflict with bootstrap\n overflow: 'hidden',\n // Fix Horizontal scroll when label too long\n variants: [{\n props: {\n withLabel: false\n },\n style: {\n padding: 0,\n lineHeight: '11px',\n // sync with `height` in `legend` styles\n transition: theme.transitions.create('width', {\n duration: 150,\n easing: theme.transitions.easing.easeOut\n })\n }\n }, {\n props: {\n withLabel: true\n },\n style: {\n display: 'block',\n // Fix conflict with normalize.css and sanitize.css\n padding: 0,\n height: 11,\n // sync with `lineHeight` in `legend` styles\n fontSize: '0.75em',\n visibility: 'hidden',\n maxWidth: 0.01,\n transition: theme.transitions.create('max-width', {\n duration: 50,\n easing: theme.transitions.easing.easeOut\n }),\n whiteSpace: 'nowrap',\n '& > span': {\n paddingLeft: 5,\n paddingRight: 5,\n display: 'inline-block',\n opacity: 0,\n visibility: 'visible'\n }\n }\n }, {\n props: {\n withLabel: true,\n notched: true\n },\n style: {\n maxWidth: '100%',\n transition: theme.transitions.create('max-width', {\n duration: 100,\n easing: theme.transitions.easing.easeOut,\n delay: 50\n })\n }\n }]\n}));\n\n/**\n * @ignore - internal component.\n */\nexport default function Outline(props) {\n const {\n className,\n label\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const withLabel = label != null && label !== '';\n const ownerState = _extends({}, props, {\n withLabel\n });\n return /*#__PURE__*/_jsx(OutlineRoot, _extends({\n \"aria-hidden\": true,\n className: className\n }, other, {\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(OutlineLegend, {\n ownerState: ownerState,\n children: withLabel ? /*#__PURE__*/_jsx(OutlineLabel, {\n children: label\n }) :\n /*#__PURE__*/\n // notranslate needed while Google Translate will not fix zero-width space issue\n _jsx(OutlineLabel, {\n className: \"notranslate\",\n children: \"\\u200B\"\n })\n })\n }));\n}","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getPickersSectionListUtilityClass(slot) {\n return generateUtilityClass('MuiPickersSectionList', slot);\n}\nexport const pickersSectionListClasses = generateUtilityClasses('MuiPickersSectionList', ['root', 'section', 'sectionContent']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"slots\", \"slotProps\", \"elements\", \"sectionListRef\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useForkRef from '@mui/utils/useForkRef';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { getPickersSectionListUtilityClass, pickersSectionListClasses } from './pickersSectionListClasses';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const PickersSectionListRoot = styled('div', {\n name: 'MuiPickersSectionList',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n direction: 'ltr /*! @noflip */',\n outline: 'none'\n});\nexport const PickersSectionListSection = styled('span', {\n name: 'MuiPickersSectionList',\n slot: 'Section',\n overridesResolver: (props, styles) => styles.section\n})({});\nexport const PickersSectionListSectionSeparator = styled('span', {\n name: 'MuiPickersSectionList',\n slot: 'SectionSeparator',\n overridesResolver: (props, styles) => styles.sectionSeparator\n})({\n whiteSpace: 'pre'\n});\nexport const PickersSectionListSectionContent = styled('span', {\n name: 'MuiPickersSectionList',\n slot: 'SectionContent',\n overridesResolver: (props, styles) => styles.sectionContent\n})({\n outline: 'none'\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n section: ['section'],\n sectionContent: ['sectionContent']\n };\n return composeClasses(slots, getPickersSectionListUtilityClass, classes);\n};\n/**\n * Demos:\n *\n * - [Custom field](https://mui.com/x/react-date-pickers/custom-field/)\n *\n * API:\n *\n * - [PickersSectionList API](https://mui.com/x/api/date-pickers/pickers-section-list/)\n */\nfunction PickersSection(props) {\n const {\n slots,\n slotProps,\n element,\n classes\n } = props;\n const Section = slots?.section ?? PickersSectionListSection;\n const sectionProps = useSlotProps({\n elementType: Section,\n externalSlotProps: slotProps?.section,\n externalForwardedProps: element.container,\n className: classes.section,\n ownerState: {}\n });\n const SectionContent = slots?.sectionContent ?? PickersSectionListSectionContent;\n const sectionContentProps = useSlotProps({\n elementType: SectionContent,\n externalSlotProps: slotProps?.sectionContent,\n externalForwardedProps: element.content,\n additionalProps: {\n suppressContentEditableWarning: true\n },\n className: classes.sectionContent,\n ownerState: {}\n });\n const SectionSeparator = slots?.sectionSeparator ?? PickersSectionListSectionSeparator;\n const sectionSeparatorBeforeProps = useSlotProps({\n elementType: SectionSeparator,\n externalSlotProps: slotProps?.sectionSeparator,\n externalForwardedProps: element.before,\n ownerState: {\n position: 'before'\n }\n });\n const sectionSeparatorAfterProps = useSlotProps({\n elementType: SectionSeparator,\n externalSlotProps: slotProps?.sectionSeparator,\n externalForwardedProps: element.after,\n ownerState: {\n position: 'after'\n }\n });\n return /*#__PURE__*/_jsxs(Section, _extends({}, sectionProps, {\n children: [/*#__PURE__*/_jsx(SectionSeparator, _extends({}, sectionSeparatorBeforeProps)), /*#__PURE__*/_jsx(SectionContent, _extends({}, sectionContentProps)), /*#__PURE__*/_jsx(SectionSeparator, _extends({}, sectionSeparatorAfterProps))]\n }));\n}\nconst PickersSectionList = /*#__PURE__*/React.forwardRef(function PickersSectionList(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersSectionList'\n });\n const {\n slots,\n slotProps,\n elements,\n sectionListRef\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const rootRef = React.useRef(null);\n const handleRootRef = useForkRef(ref, rootRef);\n const getRoot = methodName => {\n if (!rootRef.current) {\n throw new Error(`MUI X: Cannot call sectionListRef.${methodName} before the mount of the component.`);\n }\n return rootRef.current;\n };\n React.useImperativeHandle(sectionListRef, () => ({\n getRoot() {\n return getRoot('getRoot');\n },\n getSectionContainer(index) {\n const root = getRoot('getSectionContainer');\n return root.querySelector(`.${pickersSectionListClasses.section}[data-sectionindex=\"${index}\"]`);\n },\n getSectionContent(index) {\n const root = getRoot('getSectionContent');\n return root.querySelector(`.${pickersSectionListClasses.section}[data-sectionindex=\"${index}\"] .${pickersSectionListClasses.sectionContent}`);\n },\n getSectionIndexFromDOMElement(element) {\n const root = getRoot('getSectionIndexFromDOMElement');\n if (element == null || !root.contains(element)) {\n return null;\n }\n let sectionContainer = null;\n if (element.classList.contains(pickersSectionListClasses.section)) {\n sectionContainer = element;\n } else if (element.classList.contains(pickersSectionListClasses.sectionContent)) {\n sectionContainer = element.parentElement;\n }\n if (sectionContainer == null) {\n return null;\n }\n return Number(sectionContainer.dataset.sectionindex);\n }\n }));\n const Root = slots?.root ?? PickersSectionListRoot;\n const rootProps = useSlotProps({\n elementType: Root,\n externalSlotProps: slotProps?.root,\n externalForwardedProps: other,\n additionalProps: {\n ref: handleRootRef,\n suppressContentEditableWarning: true\n },\n className: classes.root,\n ownerState: {}\n });\n return /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {\n children: rootProps.contentEditable ? elements.map(({\n content,\n before,\n after\n }) => `${before.children}${content.children}${after.children}`).join('') : /*#__PURE__*/_jsx(React.Fragment, {\n children: elements.map((element, elementIndex) => /*#__PURE__*/_jsx(PickersSection, {\n slots: slots,\n slotProps: slotProps,\n element: element,\n classes: classes\n }, elementIndex))\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersSectionList.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * If true, the whole element is editable.\n * Useful when all the sections are selected.\n */\n contentEditable: PropTypes.bool.isRequired,\n /**\n * The elements to render.\n * Each element contains the prop to edit a section of the value.\n */\n elements: PropTypes.arrayOf(PropTypes.shape({\n after: PropTypes.object.isRequired,\n before: PropTypes.object.isRequired,\n container: PropTypes.object.isRequired,\n content: PropTypes.object.isRequired\n })).isRequired,\n sectionListRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n getRoot: PropTypes.func.isRequired,\n getSectionContainer: PropTypes.func.isRequired,\n getSectionContent: PropTypes.func.isRequired,\n getSectionIndexFromDOMElement: PropTypes.func.isRequired\n })\n })]),\n /**\n * The props used for each component slot.\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n */\n slots: PropTypes.object\n} : void 0;\nexport { PickersSectionList };","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"elements\", \"areAllSectionsEmpty\", \"defaultValue\", \"label\", \"value\", \"onChange\", \"id\", \"autoFocus\", \"endAdornment\", \"startAdornment\", \"renderSuffix\", \"slots\", \"slotProps\", \"contentEditable\", \"tabIndex\", \"onInput\", \"onPaste\", \"onKeyDown\", \"fullWidth\", \"name\", \"readOnly\", \"inputProps\", \"inputRef\", \"sectionListRef\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useFormControl } from '@mui/material/FormControl';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport useForkRef from '@mui/utils/useForkRef';\nimport { refType } from '@mui/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '@mui/utils/capitalize';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport visuallyHidden from '@mui/utils/visuallyHidden';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { pickersInputBaseClasses, getPickersInputBaseUtilityClass } from './pickersInputBaseClasses';\nimport { Unstable_PickersSectionList as PickersSectionList, Unstable_PickersSectionListRoot as PickersSectionListRoot, Unstable_PickersSectionListSection as PickersSectionListSection, Unstable_PickersSectionListSectionSeparator as PickersSectionListSectionSeparator, Unstable_PickersSectionListSectionContent as PickersSectionListSectionContent } from '../../PickersSectionList';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst round = value => Math.round(value * 1e5) / 1e5;\nexport const PickersInputBaseRoot = styled('div', {\n name: 'MuiPickersInputBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => _extends({}, theme.typography.body1, {\n color: (theme.vars || theme).palette.text.primary,\n cursor: 'text',\n padding: 0,\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n // Prevent padding issue with fullWidth.\n letterSpacing: `${round(0.15 / 16)}em`,\n variants: [{\n props: {\n fullWidth: true\n },\n style: {\n width: '100%'\n }\n }]\n}));\nexport const PickersInputBaseSectionsContainer = styled(PickersSectionListRoot, {\n name: 'MuiPickersInputBase',\n slot: 'SectionsContainer',\n overridesResolver: (props, styles) => styles.sectionsContainer\n})(({\n theme\n}) => ({\n padding: '4px 0 5px',\n fontFamily: theme.typography.fontFamily,\n fontSize: 'inherit',\n lineHeight: '1.4375em',\n // 23px\n flexGrow: 1,\n outline: 'none',\n display: 'flex',\n flexWrap: 'nowrap',\n overflow: 'hidden',\n letterSpacing: 'inherit',\n // Baseline behavior\n width: '182px',\n variants: [{\n props: {\n isRtl: true\n },\n style: {\n textAlign: 'right /*! @noflip */'\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n paddingTop: 1\n }\n }, {\n props: {\n adornedStart: false,\n focused: false,\n filled: false\n },\n style: {\n color: 'currentColor',\n opacity: 0\n }\n }, {\n // Can't use the object notation because label can be null or undefined\n props: ({\n adornedStart,\n focused,\n filled,\n label\n }) => !adornedStart && !focused && !filled && label == null,\n style: theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: theme.palette.mode === 'light' ? 0.42 : 0.5\n }\n }]\n}));\nconst PickersInputBaseSection = styled(PickersSectionListSection, {\n name: 'MuiPickersInputBase',\n slot: 'Section',\n overridesResolver: (props, styles) => styles.section\n})(({\n theme\n}) => ({\n fontFamily: theme.typography.fontFamily,\n fontSize: 'inherit',\n letterSpacing: 'inherit',\n lineHeight: '1.4375em',\n // 23px\n display: 'flex'\n}));\nconst PickersInputBaseSectionContent = styled(PickersSectionListSectionContent, {\n name: 'MuiPickersInputBase',\n slot: 'SectionContent',\n overridesResolver: (props, styles) => styles.content\n})(({\n theme\n}) => ({\n fontFamily: theme.typography.fontFamily,\n lineHeight: '1.4375em',\n // 23px\n letterSpacing: 'inherit',\n width: 'fit-content',\n outline: 'none'\n}));\nconst PickersInputBaseSectionSeparator = styled(PickersSectionListSectionSeparator, {\n name: 'MuiPickersInputBase',\n slot: 'Separator',\n overridesResolver: (props, styles) => styles.separator\n})(() => ({\n whiteSpace: 'pre',\n letterSpacing: 'inherit'\n}));\nconst PickersInputBaseInput = styled('input', {\n name: 'MuiPickersInputBase',\n slot: 'Input',\n overridesResolver: (props, styles) => styles.hiddenInput\n})(_extends({}, visuallyHidden));\nconst useUtilityClasses = ownerState => {\n const {\n focused,\n disabled,\n error,\n classes,\n fullWidth,\n readOnly,\n color,\n size,\n endAdornment,\n startAdornment\n } = ownerState;\n const slots = {\n root: ['root', focused && !disabled && 'focused', disabled && 'disabled', readOnly && 'readOnly', error && 'error', fullWidth && 'fullWidth', `color${capitalize(color)}`, size === 'small' && 'inputSizeSmall', Boolean(startAdornment) && 'adornedStart', Boolean(endAdornment) && 'adornedEnd'],\n notchedOutline: ['notchedOutline'],\n input: ['input'],\n sectionsContainer: ['sectionsContainer'],\n sectionContent: ['sectionContent'],\n sectionBefore: ['sectionBefore'],\n sectionAfter: ['sectionAfter']\n };\n return composeClasses(slots, getPickersInputBaseUtilityClass, classes);\n};\n/**\n * @ignore - internal component.\n */\nconst PickersInputBase = /*#__PURE__*/React.forwardRef(function PickersInputBase(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersInputBase'\n });\n const {\n elements,\n areAllSectionsEmpty,\n value,\n onChange,\n id,\n endAdornment,\n startAdornment,\n renderSuffix,\n slots,\n slotProps,\n contentEditable,\n tabIndex,\n onInput,\n onPaste,\n onKeyDown,\n name,\n readOnly,\n inputProps,\n inputRef,\n sectionListRef\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const rootRef = React.useRef(null);\n const handleRootRef = useForkRef(ref, rootRef);\n const handleInputRef = useForkRef(inputProps?.ref, inputRef);\n const isRtl = useRtl();\n const muiFormControl = useFormControl();\n if (!muiFormControl) {\n throw new Error('MUI X: PickersInputBase should always be used inside a PickersTextField component');\n }\n const handleInputFocus = event => {\n // Fix a bug with IE11 where the focus/blur events are triggered\n // while the component is disabled.\n if (muiFormControl.disabled) {\n event.stopPropagation();\n return;\n }\n muiFormControl.onFocus?.(event);\n };\n React.useEffect(() => {\n if (muiFormControl) {\n muiFormControl.setAdornedStart(Boolean(startAdornment));\n }\n }, [muiFormControl, startAdornment]);\n React.useEffect(() => {\n if (!muiFormControl) {\n return;\n }\n if (areAllSectionsEmpty) {\n muiFormControl.onEmpty();\n } else {\n muiFormControl.onFilled();\n }\n }, [muiFormControl, areAllSectionsEmpty]);\n const ownerState = _extends({}, props, muiFormControl, {\n isRtl\n });\n const classes = useUtilityClasses(ownerState);\n const InputRoot = slots?.root || PickersInputBaseRoot;\n const inputRootProps = useSlotProps({\n elementType: InputRoot,\n externalSlotProps: slotProps?.root,\n externalForwardedProps: other,\n additionalProps: {\n 'aria-invalid': muiFormControl.error,\n ref: handleRootRef\n },\n className: classes.root,\n ownerState\n });\n const InputSectionsContainer = slots?.input || PickersInputBaseSectionsContainer;\n return /*#__PURE__*/_jsxs(InputRoot, _extends({}, inputRootProps, {\n children: [startAdornment, /*#__PURE__*/_jsx(PickersSectionList, {\n sectionListRef: sectionListRef,\n elements: elements,\n contentEditable: contentEditable,\n tabIndex: tabIndex,\n className: classes.sectionsContainer,\n onFocus: handleInputFocus,\n onBlur: muiFormControl.onBlur,\n onInput: onInput,\n onPaste: onPaste,\n onKeyDown: onKeyDown,\n slots: {\n root: InputSectionsContainer,\n section: PickersInputBaseSection,\n sectionContent: PickersInputBaseSectionContent,\n sectionSeparator: PickersInputBaseSectionSeparator\n },\n slotProps: {\n root: {\n ownerState\n },\n sectionContent: {\n className: pickersInputBaseClasses.sectionContent\n },\n sectionSeparator: ({\n position\n }) => ({\n className: position === 'before' ? pickersInputBaseClasses.sectionBefore : pickersInputBaseClasses.sectionAfter\n })\n }\n }), endAdornment, renderSuffix ? renderSuffix(_extends({}, muiFormControl)) : null, /*#__PURE__*/_jsx(PickersInputBaseInput, _extends({\n name: name,\n className: classes.input,\n value: value,\n onChange: onChange,\n id: id,\n \"aria-hidden\": \"true\",\n tabIndex: -1,\n readOnly: readOnly,\n required: muiFormControl.required,\n disabled: muiFormControl.disabled\n }, inputProps, {\n ref: handleInputRef\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersInputBase.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Is `true` if the current values equals the empty value.\n * For a single item value, it means that `value === null`\n * For a range value, it means that `value === [null, null]`\n */\n areAllSectionsEmpty: PropTypes.bool.isRequired,\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If true, the whole element is editable.\n * Useful when all the sections are selected.\n */\n contentEditable: PropTypes.bool.isRequired,\n /**\n * The elements to render.\n * Each element contains the prop to edit a section of the value.\n */\n elements: PropTypes.arrayOf(PropTypes.shape({\n after: PropTypes.object.isRequired,\n before: PropTypes.object.isRequired,\n container: PropTypes.object.isRequired,\n content: PropTypes.object.isRequired\n })).isRequired,\n endAdornment: PropTypes.node,\n fullWidth: PropTypes.bool,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n inputRef: refType,\n label: PropTypes.node,\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n name: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onClick: PropTypes.func.isRequired,\n onInput: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n ownerState: PropTypes.any,\n readOnly: PropTypes.bool,\n renderSuffix: PropTypes.func,\n sectionListRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n getRoot: PropTypes.func.isRequired,\n getSectionContainer: PropTypes.func.isRequired,\n getSectionContent: PropTypes.func.isRequired,\n getSectionIndexFromDOMElement: PropTypes.func.isRequired\n })\n })]),\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.object,\n startAdornment: PropTypes.node,\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n value: PropTypes.string.isRequired\n} : void 0;\nexport { PickersInputBase };","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"label\", \"autoFocus\", \"ownerState\", \"notched\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useFormControl } from '@mui/material/FormControl';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { refType } from '@mui/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { pickersOutlinedInputClasses, getPickersOutlinedInputUtilityClass } from './pickersOutlinedInputClasses';\nimport Outline from './Outline';\nimport { PickersInputBase } from '../PickersInputBase';\nimport { PickersInputBaseRoot, PickersInputBaseSectionsContainer } from '../PickersInputBase/PickersInputBase';\nimport { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nconst PickersOutlinedInputRoot = styled(PickersInputBaseRoot, {\n name: 'MuiPickersOutlinedInput',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return {\n padding: '0 14px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n [`&:hover .${pickersOutlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.text.primary\n },\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n [`&:hover .${pickersOutlinedInputClasses.notchedOutline}`]: {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor\n }\n },\n [`&.${pickersOutlinedInputClasses.focused} .${pickersOutlinedInputClasses.notchedOutline}`]: {\n borderStyle: 'solid',\n borderWidth: 2\n },\n [`&.${pickersOutlinedInputClasses.disabled}`]: {\n [`& .${pickersOutlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.action.disabled\n },\n '*': {\n color: (theme.vars || theme).palette.action.disabled\n }\n },\n [`&.${pickersOutlinedInputClasses.error} .${pickersOutlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.error.main\n },\n variants: Object.keys((theme.vars ?? theme).palette)\n // @ts-ignore\n .filter(key => (theme.vars ?? theme).palette[key]?.main ?? false).map(color => ({\n props: {\n color\n },\n style: {\n [`&.${pickersOutlinedInputClasses.focused}:not(.${pickersOutlinedInputClasses.error}) .${pickersOutlinedInputClasses.notchedOutline}`]: {\n // @ts-ignore\n borderColor: (theme.vars || theme).palette[color].main\n }\n }\n }))\n };\n});\nconst PickersOutlinedInputSectionsContainer = styled(PickersInputBaseSectionsContainer, {\n name: 'MuiPickersOutlinedInput',\n slot: 'SectionsContainer',\n overridesResolver: (props, styles) => styles.sectionsContainer\n})({\n padding: '16.5px 0',\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n padding: '8.5px 0'\n }\n }]\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n notchedOutline: ['notchedOutline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getPickersOutlinedInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n/**\n * @ignore - internal component.\n */\nconst PickersOutlinedInput = /*#__PURE__*/React.forwardRef(function PickersOutlinedInput(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersOutlinedInput'\n });\n const {\n label,\n ownerState: ownerStateProp,\n notched\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {\n color: muiFormControl?.color || 'primary'\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(PickersInputBase, _extends({\n slots: {\n root: PickersOutlinedInputRoot,\n input: PickersOutlinedInputSectionsContainer\n },\n renderSuffix: state => /*#__PURE__*/_jsx(Outline, {\n shrink: Boolean(notched || state.adornedStart || state.focused || state.filled),\n notched: Boolean(notched || state.adornedStart || state.focused || state.filled),\n className: classes.notchedOutline,\n label: label != null && label !== '' && muiFormControl?.required ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, \"\\u2009\", '*']\n }) : label,\n ownerState: ownerState\n })\n }, other, {\n label: label,\n classes: classes,\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersOutlinedInput.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Is `true` if the current values equals the empty value.\n * For a single item value, it means that `value === null`\n * For a range value, it means that `value === [null, null]`\n */\n areAllSectionsEmpty: PropTypes.bool.isRequired,\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If true, the whole element is editable.\n * Useful when all the sections are selected.\n */\n contentEditable: PropTypes.bool.isRequired,\n /**\n * The elements to render.\n * Each element contains the prop to edit a section of the value.\n */\n elements: PropTypes.arrayOf(PropTypes.shape({\n after: PropTypes.object.isRequired,\n before: PropTypes.object.isRequired,\n container: PropTypes.object.isRequired,\n content: PropTypes.object.isRequired\n })).isRequired,\n endAdornment: PropTypes.node,\n fullWidth: PropTypes.bool,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n inputRef: refType,\n label: PropTypes.node,\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n name: PropTypes.string,\n notched: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onClick: PropTypes.func.isRequired,\n onInput: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n ownerState: PropTypes.any,\n readOnly: PropTypes.bool,\n renderSuffix: PropTypes.func,\n sectionListRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n getRoot: PropTypes.func.isRequired,\n getSectionContainer: PropTypes.func.isRequired,\n getSectionContent: PropTypes.func.isRequired,\n getSectionIndexFromDOMElement: PropTypes.func.isRequired\n })\n })]),\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.object,\n startAdornment: PropTypes.node,\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n value: PropTypes.string.isRequired\n} : void 0;\nexport { PickersOutlinedInput };\nPickersOutlinedInput.muiName = 'Input';","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { pickersInputBaseClasses } from '../PickersInputBase';\nexport function getPickersFilledInputUtilityClass(slot) {\n return generateUtilityClass('MuiPickersFilledInput', slot);\n}\nexport const pickersFilledInputClasses = _extends({}, pickersInputBaseClasses, generateUtilityClasses('MuiPickersFilledInput', ['root', 'underline', 'input']));","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"label\", \"autoFocus\", \"disableUnderline\", \"ownerState\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useFormControl } from '@mui/material/FormControl';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { shouldForwardProp } from '@mui/system';\nimport { refType } from '@mui/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { pickersFilledInputClasses, getPickersFilledInputUtilityClass } from './pickersFilledInputClasses';\nimport { PickersInputBase } from '../PickersInputBase';\nimport { PickersInputBaseRoot, PickersInputBaseSectionsContainer } from '../PickersInputBase/PickersInputBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PickersFilledInputRoot = styled(PickersInputBaseRoot, {\n name: 'MuiPickersFilledInput',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root,\n shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'disableUnderline'\n})(({\n theme\n}) => {\n const light = theme.palette.mode === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';\n const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';\n const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';\n return {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n '&:hover': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.hoverBg : hoverBackground,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n }\n },\n [`&.${pickersFilledInputClasses.focused}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n },\n [`&.${pickersFilledInputClasses.disabled}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground\n },\n variants: [...Object.keys((theme.vars ?? theme).palette)\n // @ts-ignore\n .filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({\n props: {\n color,\n disableUnderline: false\n },\n style: {\n '&::after': {\n // @ts-ignore\n borderBottom: `2px solid ${(theme.vars || theme).palette[color]?.main}`\n }\n }\n })), {\n props: {\n disableUnderline: false\n },\n style: {\n '&::after': {\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${pickersFilledInputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${pickersFilledInputClasses.error}`]: {\n '&:before, &:after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${pickersFilledInputClasses.disabled}, .${pickersFilledInputClasses.error}):before`]: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`\n },\n [`&.${pickersFilledInputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n }\n }, {\n props: ({\n startAdornment\n }) => !!startAdornment,\n style: {\n paddingLeft: 12\n }\n }, {\n props: ({\n endAdornment\n }) => !!endAdornment,\n style: {\n paddingRight: 12\n }\n }]\n };\n});\nconst PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer, {\n name: 'MuiPickersFilledInput',\n slot: 'sectionsContainer',\n overridesResolver: (props, styles) => styles.sectionsContainer\n})({\n paddingTop: 25,\n paddingRight: 12,\n paddingBottom: 8,\n paddingLeft: 12,\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n paddingTop: 21,\n paddingBottom: 4\n }\n }, {\n props: ({\n startAdornment\n }) => !!startAdornment,\n style: {\n paddingLeft: 0\n }\n }, {\n props: ({\n endAdornment\n }) => !!endAdornment,\n style: {\n paddingRight: 0\n }\n }, {\n props: {\n hiddenLabel: true\n },\n style: {\n paddingTop: 16,\n paddingBottom: 17\n }\n }, {\n props: {\n hiddenLabel: true,\n size: 'small'\n },\n style: {\n paddingTop: 8,\n paddingBottom: 9\n }\n }]\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getPickersFilledInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n/**\n * @ignore - internal component.\n */\nconst PickersFilledInput = /*#__PURE__*/React.forwardRef(function PickersFilledInput(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersFilledInput'\n });\n const {\n label,\n disableUnderline = false,\n ownerState: ownerStateProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {\n color: muiFormControl?.color || 'primary'\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(PickersInputBase, _extends({\n slots: {\n root: PickersFilledInputRoot,\n input: PickersFilledSectionsContainer\n },\n slotProps: {\n root: {\n disableUnderline\n }\n }\n }, other, {\n label: label,\n classes: classes,\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersFilledInput.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Is `true` if the current values equals the empty value.\n * For a single item value, it means that `value === null`\n * For a range value, it means that `value === [null, null]`\n */\n areAllSectionsEmpty: PropTypes.bool.isRequired,\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If true, the whole element is editable.\n * Useful when all the sections are selected.\n */\n contentEditable: PropTypes.bool.isRequired,\n disableUnderline: PropTypes.bool,\n /**\n * The elements to render.\n * Each element contains the prop to edit a section of the value.\n */\n elements: PropTypes.arrayOf(PropTypes.shape({\n after: PropTypes.object.isRequired,\n before: PropTypes.object.isRequired,\n container: PropTypes.object.isRequired,\n content: PropTypes.object.isRequired\n })).isRequired,\n endAdornment: PropTypes.node,\n fullWidth: PropTypes.bool,\n hiddenLabel: PropTypes.bool,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n inputRef: refType,\n label: PropTypes.node,\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n name: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onClick: PropTypes.func.isRequired,\n onInput: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n ownerState: PropTypes.any,\n readOnly: PropTypes.bool,\n renderSuffix: PropTypes.func,\n sectionListRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n getRoot: PropTypes.func.isRequired,\n getSectionContainer: PropTypes.func.isRequired,\n getSectionContent: PropTypes.func.isRequired,\n getSectionIndexFromDOMElement: PropTypes.func.isRequired\n })\n })]),\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.object,\n startAdornment: PropTypes.node,\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n value: PropTypes.string.isRequired\n} : void 0;\nexport { PickersFilledInput };\nPickersFilledInput.muiName = 'Input';","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { pickersInputBaseClasses } from '../PickersInputBase';\nexport function getPickersInputUtilityClass(slot) {\n return generateUtilityClass('MuiPickersFilledInput', slot);\n}\nexport const pickersInputClasses = _extends({}, pickersInputBaseClasses, generateUtilityClasses('MuiPickersInput', ['root', 'input']));","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"label\", \"autoFocus\", \"disableUnderline\", \"ownerState\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useFormControl } from '@mui/material/FormControl';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { refType } from '@mui/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { pickersInputClasses, getPickersInputUtilityClass } from './pickersInputClasses';\nimport { PickersInputBase } from '../PickersInputBase';\nimport { PickersInputBaseRoot } from '../PickersInputBase/PickersInputBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PickersInputRoot = styled(PickersInputBaseRoot, {\n name: 'MuiPickersInput',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => {\n const light = theme.palette.mode === 'light';\n let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n if (theme.vars) {\n bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;\n }\n return {\n 'label + &': {\n marginTop: 16\n },\n variants: [...Object.keys((theme.vars ?? theme).palette)\n // @ts-ignore\n .filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({\n props: {\n color\n },\n style: {\n '&::after': {\n // @ts-ignore\n borderBottom: `2px solid ${(theme.vars || theme).palette[color].main}`\n }\n }\n })), {\n props: {\n disableUnderline: false\n },\n style: {\n '&::after': {\n background: 'red',\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${pickersInputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${pickersInputClasses.error}`]: {\n '&:before, &:after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${pickersInputClasses.disabled}, .${pickersInputClasses.error}):before`]: {\n borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n borderBottom: `1px solid ${bottomLineColor}`\n }\n },\n [`&.${pickersInputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n }\n }]\n };\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getPickersInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n/**\n * @ignore - internal component.\n */\nconst PickersInput = /*#__PURE__*/React.forwardRef(function PickersInput(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersInput'\n });\n const {\n label,\n disableUnderline = false,\n ownerState: ownerStateProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {\n disableUnderline,\n color: muiFormControl?.color || 'primary'\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(PickersInputBase, _extends({\n slots: {\n root: PickersInputRoot\n }\n }, other, {\n label: label,\n classes: classes,\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersInput.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Is `true` if the current values equals the empty value.\n * For a single item value, it means that `value === null`\n * For a range value, it means that `value === [null, null]`\n */\n areAllSectionsEmpty: PropTypes.bool.isRequired,\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If true, the whole element is editable.\n * Useful when all the sections are selected.\n */\n contentEditable: PropTypes.bool.isRequired,\n disableUnderline: PropTypes.bool,\n /**\n * The elements to render.\n * Each element contains the prop to edit a section of the value.\n */\n elements: PropTypes.arrayOf(PropTypes.shape({\n after: PropTypes.object.isRequired,\n before: PropTypes.object.isRequired,\n container: PropTypes.object.isRequired,\n content: PropTypes.object.isRequired\n })).isRequired,\n endAdornment: PropTypes.node,\n fullWidth: PropTypes.bool,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n inputRef: refType,\n label: PropTypes.node,\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n name: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onClick: PropTypes.func.isRequired,\n onInput: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n ownerState: PropTypes.any,\n readOnly: PropTypes.bool,\n renderSuffix: PropTypes.func,\n sectionListRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n getRoot: PropTypes.func.isRequired,\n getSectionContainer: PropTypes.func.isRequired,\n getSectionContent: PropTypes.func.isRequired,\n getSectionIndexFromDOMElement: PropTypes.func.isRequired\n })\n })]),\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.object,\n startAdornment: PropTypes.node,\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n value: PropTypes.string.isRequired\n} : void 0;\nexport { PickersInput };\nPickersInput.muiName = 'Input';","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onFocus\", \"onBlur\", \"className\", \"color\", \"disabled\", \"error\", \"variant\", \"required\", \"InputProps\", \"inputProps\", \"inputRef\", \"sectionListRef\", \"elements\", \"areAllSectionsEmpty\", \"onClick\", \"onKeyDown\", \"onKeyUp\", \"onPaste\", \"onInput\", \"endAdornment\", \"startAdornment\", \"tabIndex\", \"contentEditable\", \"focused\", \"value\", \"onChange\", \"fullWidth\", \"id\", \"name\", \"helperText\", \"FormHelperTextProps\", \"label\", \"InputLabelProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { refType } from '@mui/utils';\nimport useForkRef from '@mui/utils/useForkRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport { getPickersTextFieldUtilityClass } from './pickersTextFieldClasses';\nimport { PickersOutlinedInput } from './PickersOutlinedInput';\nimport { PickersFilledInput } from './PickersFilledInput';\nimport { PickersInput } from './PickersInput';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst VARIANT_COMPONENT = {\n standard: PickersInput,\n filled: PickersFilledInput,\n outlined: PickersOutlinedInput\n};\nconst PickersTextFieldRoot = styled(FormControl, {\n name: 'MuiPickersTextField',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst useUtilityClasses = ownerState => {\n const {\n focused,\n disabled,\n classes,\n required\n } = ownerState;\n const slots = {\n root: ['root', focused && !disabled && 'focused', disabled && 'disabled', required && 'required']\n };\n return composeClasses(slots, getPickersTextFieldUtilityClass, classes);\n};\nconst PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTextField(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersTextField'\n });\n const {\n // Props used by FormControl\n onFocus,\n onBlur,\n className,\n color = 'primary',\n disabled = false,\n error = false,\n variant = 'outlined',\n required = false,\n // Props used by PickersInput\n InputProps,\n inputProps,\n inputRef,\n sectionListRef,\n elements,\n areAllSectionsEmpty,\n onClick,\n onKeyDown,\n onKeyUp,\n onPaste,\n onInput,\n endAdornment,\n startAdornment,\n tabIndex,\n contentEditable,\n focused,\n value,\n onChange,\n fullWidth,\n id: idProp,\n name,\n // Props used by FormHelperText\n helperText,\n FormHelperTextProps,\n // Props used by InputLabel\n label,\n InputLabelProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const rootRef = React.useRef(null);\n const handleRootRef = useForkRef(ref, rootRef);\n const id = useId(idProp);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n const ownerState = _extends({}, props, {\n color,\n disabled,\n error,\n focused,\n required,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const PickersInputComponent = VARIANT_COMPONENT[variant];\n return /*#__PURE__*/_jsxs(PickersTextFieldRoot, _extends({\n className: clsx(classes.root, className),\n ref: handleRootRef,\n focused: focused,\n onFocus: onFocus,\n onBlur: onBlur,\n disabled: disabled,\n variant: variant,\n error: error,\n color: color,\n fullWidth: fullWidth,\n required: required,\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(InputLabel, _extends({\n htmlFor: id,\n id: inputLabelId\n }, InputLabelProps, {\n children: label\n })), /*#__PURE__*/_jsx(PickersInputComponent, _extends({\n elements: elements,\n areAllSectionsEmpty: areAllSectionsEmpty,\n onClick: onClick,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onInput: onInput,\n onPaste: onPaste,\n endAdornment: endAdornment,\n startAdornment: startAdornment,\n tabIndex: tabIndex,\n contentEditable: contentEditable,\n value: value,\n onChange: onChange,\n id: id,\n fullWidth: fullWidth,\n inputProps: inputProps,\n inputRef: inputRef,\n sectionListRef: sectionListRef,\n label: label,\n name: name,\n role: \"group\",\n \"aria-labelledby\": inputLabelId\n }, InputProps)), helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({\n id: helperTextId\n }, FormHelperTextProps, {\n children: helperText\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersTextField.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Is `true` if the current values equals the empty value.\n * For a single item value, it means that `value === null`\n * For a range value, it means that `value === [null, null]`\n */\n areAllSectionsEmpty: PropTypes.bool.isRequired,\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),\n component: PropTypes.elementType,\n /**\n * If true, the whole element is editable.\n * Useful when all the sections are selected.\n */\n contentEditable: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n /**\n * The elements to render.\n * Each element contains the prop to edit a section of the value.\n */\n elements: PropTypes.arrayOf(PropTypes.shape({\n after: PropTypes.object.isRequired,\n before: PropTypes.object.isRequired,\n container: PropTypes.object.isRequired,\n content: PropTypes.object.isRequired\n })).isRequired,\n endAdornment: PropTypes.node,\n error: PropTypes.bool.isRequired,\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: PropTypes.bool,\n FormHelperTextProps: PropTypes.object,\n fullWidth: PropTypes.bool,\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n id: PropTypes.string,\n InputLabelProps: PropTypes.object,\n inputProps: PropTypes.object,\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](/material-ui/api/filled-input/),\n * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)\n * component depending on the `variant` prop value.\n */\n InputProps: PropTypes.object,\n inputRef: refType,\n label: PropTypes.node,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n name: PropTypes.string,\n onBlur: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onClick: PropTypes.func.isRequired,\n onFocus: PropTypes.func.isRequired,\n onInput: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n readOnly: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n * @default false\n */\n required: PropTypes.bool,\n sectionListRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n getRoot: PropTypes.func.isRequired,\n getSectionContainer: PropTypes.func.isRequired,\n getSectionContent: PropTypes.func.isRequired,\n getSectionIndexFromDOMElement: PropTypes.func.isRequired\n })\n })]),\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes.oneOf(['medium', 'small']),\n startAdornment: PropTypes.node,\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n value: PropTypes.string.isRequired,\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport { PickersTextField };","import { createIsAfterIgnoreDatePart } from '../time-utils';\nexport const validateTime = ({\n adapter,\n value,\n props\n}) => {\n if (value === null) {\n return null;\n }\n const {\n minTime,\n maxTime,\n minutesStep,\n shouldDisableTime,\n disableIgnoringDatePartForTimeValidation = false,\n disablePast,\n disableFuture,\n timezone\n } = props;\n const now = adapter.utils.date(undefined, timezone);\n const isAfter = createIsAfterIgnoreDatePart(disableIgnoringDatePartForTimeValidation, adapter.utils);\n switch (true) {\n case !adapter.utils.isValid(value):\n return 'invalidDate';\n case Boolean(minTime && isAfter(minTime, value)):\n return 'minTime';\n case Boolean(maxTime && isAfter(value, maxTime)):\n return 'maxTime';\n case Boolean(disableFuture && adapter.utils.isAfter(value, now)):\n return 'disableFuture';\n case Boolean(disablePast && adapter.utils.isBefore(value, now)):\n return 'disablePast';\n case Boolean(shouldDisableTime && shouldDisableTime(value, 'hours')):\n return 'shouldDisableTime-hours';\n case Boolean(shouldDisableTime && shouldDisableTime(value, 'minutes')):\n return 'shouldDisableTime-minutes';\n case Boolean(shouldDisableTime && shouldDisableTime(value, 'seconds')):\n return 'shouldDisableTime-seconds';\n case Boolean(minutesStep && adapter.utils.getMinutes(value) % minutesStep !== 0):\n return 'minutesStep';\n default:\n return null;\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"slots\", \"slotProps\", \"InputProps\", \"inputProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport MuiTextField from '@mui/material/TextField';\nimport { useThemeProps } from '@mui/material/styles';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { refType } from '@mui/utils';\nimport { useTimeField } from './useTimeField';\nimport { useClearableField } from '../hooks';\nimport { PickersTextField } from '../PickersTextField';\nimport { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Demos:\n *\n * - [TimeField](http://mui.com/x/react-date-pickers/time-field/)\n * - [Fields](https://mui.com/x/react-date-pickers/fields/)\n *\n * API:\n *\n * - [TimeField API](https://mui.com/x/api/date-pickers/time-field/)\n */\nconst TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, inRef) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiTimeField'\n });\n const {\n slots,\n slotProps,\n InputProps,\n inputProps\n } = themeProps,\n other = _objectWithoutPropertiesLoose(themeProps, _excluded);\n const ownerState = themeProps;\n const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);\n const textFieldProps = useSlotProps({\n elementType: TextField,\n externalSlotProps: slotProps?.textField,\n externalForwardedProps: other,\n ownerState,\n additionalProps: {\n ref: inRef\n }\n });\n\n // TODO: Remove when mui/material-ui#35088 will be merged\n textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);\n textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);\n const fieldResponse = useTimeField(textFieldProps);\n const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);\n const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {\n slots,\n slotProps\n }));\n return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));\n});\nprocess.env.NODE_ENV !== \"production\" ? TimeField.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * 12h/24h view for hour selection clock.\n * @default utils.is12HourCycleInCurrentLocale()\n */\n ampm: PropTypes.bool,\n /**\n * If `true`, the `input` element is focused during the first mount.\n * @default false\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * If `true`, a clear button will be shown in the field allowing value clearing.\n * @default false\n */\n clearable: PropTypes.bool,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),\n component: PropTypes.elementType,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * Do not ignore date part when validating min/max time.\n * @default false\n */\n disableIgnoringDatePartForTimeValidation: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * @default false\n */\n enableAccessibleFieldDOMStructure: PropTypes.bool,\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: PropTypes.bool,\n /**\n * Format of the date when rendered in the input(s).\n */\n format: PropTypes.string,\n /**\n * Density of the format when rendered in the input.\n * Setting `formatDensity` to `\"spacious\"` will add a space before and after each `/`, `-` and `.` character.\n * @default \"dense\"\n */\n formatDensity: PropTypes.oneOf(['dense', 'spacious']),\n /**\n * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.\n */\n FormHelperTextProps: PropTypes.object,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * The id of the `input` element.\n * Use this prop to make `label` and `helperText` accessible for screen readers.\n */\n id: PropTypes.string,\n /**\n * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.\n * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.\n */\n InputLabelProps: PropTypes.object,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](/material-ui/api/filled-input/),\n * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)\n * component depending on the `variant` prop value.\n */\n InputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * Maximal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n maxTime: PropTypes.object,\n /**\n * Minimal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n minTime: PropTypes.object,\n /**\n * Step over minutes.\n * @default 1\n */\n minutesStep: PropTypes.number,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the clear button is clicked.\n */\n onClear: PropTypes.func,\n /**\n * Callback fired when the error associated to the current value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TError} error The new error.\n * @param {TValue} value The value associated to the error.\n */\n onError: PropTypes.func,\n onFocus: PropTypes.func,\n /**\n * Callback fired when the selected sections change.\n * @param {FieldSelectedSections} newValue The new selected sections.\n */\n onSelectedSectionsChange: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate a part of the new value that is not present in the format when both `value` and `defaultValue` are empty.\n * For example, on time fields it will be used to determine the date to set.\n * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.\n */\n referenceDate: PropTypes.object,\n /**\n * If `true`, the label is displayed as required and the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The currently selected sections.\n * This prop accepts four formats:\n * 1. If a number is provided, the section at this index will be selected.\n * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.\n * 3. If `\"all\"` is provided, all the sections will be selected.\n * 4. If `null` is provided, no section will be selected.\n * If not provided, the selected sections will be handled internally.\n */\n selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),\n /**\n * Disable specific time.\n * @template TDate\n * @param {TDate} value The value to check.\n * @param {TimeView} view The clock type of the timeValue.\n * @returns {boolean} If `true` the time will be disabled.\n */\n shouldDisableTime: PropTypes.func,\n /**\n * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)\n * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)\n *\n * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: \"DD\"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.\n *\n * Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.\n * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\\u200e/g, '')`.\n *\n * Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.\n * This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.\n *\n * @default false\n */\n shouldRespectLeadingZeros: PropTypes.bool,\n /**\n * The size of the component.\n */\n size: PropTypes.oneOf(['medium', 'small']),\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The ref object used to imperatively interact with the field.\n */\n unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport { TimeField };","import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';\nimport { useField } from '../internals/hooks/useField';\nimport { validateTime } from '../internals/utils/validation/validateTime';\nimport { splitFieldInternalAndForwardedProps } from '../internals/utils/fields';\nimport { useDefaultizedTimeField } from '../internals/hooks/defaultizedFieldProps';\nexport const useTimeField = inProps => {\n const props = useDefaultizedTimeField(inProps);\n const {\n forwardedProps,\n internalProps\n } = splitFieldInternalAndForwardedProps(props, 'time');\n return useField({\n forwardedProps,\n internalProps,\n valueManager: singleItemValueManager,\n fieldValueManager: singleItemFieldValueManager,\n validator: validateTime,\n valueType: 'time'\n });\n};","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersToolbarTextUtilityClass(slot) {\n return generateUtilityClass('MuiPickersToolbarText', slot);\n}\nexport const pickersToolbarTextClasses = generateUtilityClasses('MuiPickersToolbarText', ['root', 'selected']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"selected\", \"value\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport Typography from '@mui/material/Typography';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { getPickersToolbarTextUtilityClass, pickersToolbarTextClasses } from './pickersToolbarTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n selected\n } = ownerState;\n const slots = {\n root: ['root', selected && 'selected']\n };\n return composeClasses(slots, getPickersToolbarTextUtilityClass, classes);\n};\nconst PickersToolbarTextRoot = styled(Typography, {\n name: 'MuiPickersToolbarText',\n slot: 'Root',\n overridesResolver: (_, styles) => [styles.root, {\n [`&.${pickersToolbarTextClasses.selected}`]: styles.selected\n }]\n})(({\n theme\n}) => ({\n transition: theme.transitions.create('color'),\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${pickersToolbarTextClasses.selected}`]: {\n color: (theme.vars || theme).palette.text.primary\n }\n}));\nexport const PickersToolbarText = /*#__PURE__*/React.forwardRef(function PickersToolbarText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersToolbarText'\n });\n const {\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n return /*#__PURE__*/_jsx(PickersToolbarTextRoot, _extends({\n ref: ref,\n className: clsx(className, classes.root),\n component: \"span\"\n }, other, {\n children: value\n }));\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"align\", \"className\", \"selected\", \"typographyClassName\", \"value\", \"variant\", \"width\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport Button from '@mui/material/Button';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { PickersToolbarText } from './PickersToolbarText';\nimport { getPickersToolbarUtilityClass } from './pickersToolbarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getPickersToolbarUtilityClass, classes);\n};\nconst PickersToolbarButtonRoot = styled(Button, {\n name: 'MuiPickersToolbarButton',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({\n padding: 0,\n minWidth: 16,\n textTransform: 'none'\n});\nexport const PickersToolbarButton = /*#__PURE__*/React.forwardRef(function PickersToolbarButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersToolbarButton'\n });\n const {\n align,\n className,\n selected,\n typographyClassName,\n value,\n variant,\n width\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n return /*#__PURE__*/_jsx(PickersToolbarButtonRoot, _extends({\n variant: \"text\",\n ref: ref,\n className: clsx(className, classes.root)\n }, width ? {\n sx: {\n width\n }\n } : {}, other, {\n children: /*#__PURE__*/_jsx(PickersToolbarText, {\n align: align,\n className: typographyClassName,\n variant: variant,\n value: value,\n selected: selected\n })\n }));\n});","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getTimePickerToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiTimePickerToolbar', slot);\n}\nexport const timePickerToolbarClasses = generateUtilityClasses('MuiTimePickerToolbar', ['root', 'separator', 'hourMinuteLabel', 'hourMinuteLabelLandscape', 'hourMinuteLabelReverse', 'ampmSelection', 'ampmLandscape', 'ampmLabel']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"ampm\", \"ampmInClock\", \"value\", \"isLandscape\", \"onChange\", \"view\", \"onViewChange\", \"views\", \"disabled\", \"readOnly\", \"className\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { PickersToolbarText } from '../internals/components/PickersToolbarText';\nimport { PickersToolbarButton } from '../internals/components/PickersToolbarButton';\nimport { PickersToolbar } from '../internals/components/PickersToolbar';\nimport { arrayIncludes } from '../internals/utils/utils';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { useMeridiemMode } from '../internals/hooks/date-helpers-hooks';\nimport { getTimePickerToolbarUtilityClass, timePickerToolbarClasses } from './timePickerToolbarClasses';\nimport { formatMeridiem } from '../internals/utils/date-utils';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n isLandscape,\n classes,\n isRtl\n } = ownerState;\n const slots = {\n root: ['root'],\n separator: ['separator'],\n hourMinuteLabel: ['hourMinuteLabel', isLandscape && 'hourMinuteLabelLandscape', isRtl && 'hourMinuteLabelReverse'],\n ampmSelection: ['ampmSelection', isLandscape && 'ampmLandscape'],\n ampmLabel: ['ampmLabel']\n };\n return composeClasses(slots, getTimePickerToolbarUtilityClass, classes);\n};\nconst TimePickerToolbarRoot = styled(PickersToolbar, {\n name: 'MuiTimePickerToolbar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst TimePickerToolbarSeparator = styled(PickersToolbarText, {\n name: 'MuiTimePickerToolbar',\n slot: 'Separator',\n overridesResolver: (props, styles) => styles.separator\n})({\n outline: 0,\n margin: '0 4px 0 2px',\n cursor: 'default'\n});\nconst TimePickerToolbarHourMinuteLabel = styled('div', {\n name: 'MuiTimePickerToolbar',\n slot: 'HourMinuteLabel',\n overridesResolver: (props, styles) => [{\n [`&.${timePickerToolbarClasses.hourMinuteLabelLandscape}`]: styles.hourMinuteLabelLandscape,\n [`&.${timePickerToolbarClasses.hourMinuteLabelReverse}`]: styles.hourMinuteLabelReverse\n }, styles.hourMinuteLabel]\n})({\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'flex-end',\n variants: [{\n props: {\n isRtl: true\n },\n style: {\n flexDirection: 'row-reverse'\n }\n }, {\n props: {\n isLandscape: true\n },\n style: {\n marginTop: 'auto'\n }\n }]\n});\nconst TimePickerToolbarAmPmSelection = styled('div', {\n name: 'MuiTimePickerToolbar',\n slot: 'AmPmSelection',\n overridesResolver: (props, styles) => [{\n [`.${timePickerToolbarClasses.ampmLabel}`]: styles.ampmLabel\n }, {\n [`&.${timePickerToolbarClasses.ampmLandscape}`]: styles.ampmLandscape\n }, styles.ampmSelection]\n})({\n display: 'flex',\n flexDirection: 'column',\n marginRight: 'auto',\n marginLeft: 12,\n [`& .${timePickerToolbarClasses.ampmLabel}`]: {\n fontSize: 17\n },\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n margin: '4px 0 auto',\n flexDirection: 'row',\n justifyContent: 'space-around',\n flexBasis: '100%'\n }\n }]\n});\n\n/**\n * Demos:\n *\n * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)\n * - [Custom components](https://mui.com/x/react-date-pickers/custom-components/)\n *\n * API:\n *\n * - [TimePickerToolbar API](https://mui.com/x/api/date-pickers/time-picker-toolbar/)\n */\nfunction TimePickerToolbar(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTimePickerToolbar'\n });\n const {\n ampm,\n ampmInClock,\n value,\n isLandscape,\n onChange,\n view,\n onViewChange,\n views,\n disabled,\n readOnly,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const utils = useUtils();\n const translations = usePickersTranslations();\n const isRtl = useRtl();\n const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));\n const {\n meridiemMode,\n handleMeridiemChange\n } = useMeridiemMode(value, ampm, onChange);\n const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');\n const ownerState = _extends({}, props, {\n isRtl\n });\n const classes = useUtilityClasses(ownerState);\n const separator = /*#__PURE__*/_jsx(TimePickerToolbarSeparator, {\n tabIndex: -1,\n value: \":\",\n variant: \"h3\",\n selected: false,\n className: classes.separator\n });\n return /*#__PURE__*/_jsxs(TimePickerToolbarRoot, _extends({\n landscapeDirection: \"row\",\n toolbarTitle: translations.timePickerToolbarTitle,\n isLandscape: isLandscape,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n children: [/*#__PURE__*/_jsxs(TimePickerToolbarHourMinuteLabel, {\n className: classes.hourMinuteLabel,\n ownerState: ownerState,\n children: [arrayIncludes(views, 'hours') && /*#__PURE__*/_jsx(PickersToolbarButton, {\n tabIndex: -1,\n variant: \"h3\",\n onClick: () => onViewChange('hours'),\n selected: view === 'hours',\n value: value ? formatHours(value) : '--'\n }), arrayIncludes(views, ['hours', 'minutes']) && separator, arrayIncludes(views, 'minutes') && /*#__PURE__*/_jsx(PickersToolbarButton, {\n tabIndex: -1,\n variant: \"h3\",\n onClick: () => onViewChange('minutes'),\n selected: view === 'minutes',\n value: value ? utils.format(value, 'minutes') : '--'\n }), arrayIncludes(views, ['minutes', 'seconds']) && separator, arrayIncludes(views, 'seconds') && /*#__PURE__*/_jsx(PickersToolbarButton, {\n variant: \"h3\",\n onClick: () => onViewChange('seconds'),\n selected: view === 'seconds',\n value: value ? utils.format(value, 'seconds') : '--'\n })]\n }), showAmPmControl && /*#__PURE__*/_jsxs(TimePickerToolbarAmPmSelection, {\n className: classes.ampmSelection,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(PickersToolbarButton, {\n disableRipple: true,\n variant: \"subtitle2\",\n selected: meridiemMode === 'am',\n typographyClassName: classes.ampmLabel,\n value: formatMeridiem(utils, 'am'),\n onClick: readOnly ? undefined : () => handleMeridiemChange('am'),\n disabled: disabled\n }), /*#__PURE__*/_jsx(PickersToolbarButton, {\n disableRipple: true,\n variant: \"subtitle2\",\n selected: meridiemMode === 'pm',\n typographyClassName: classes.ampmLabel,\n value: formatMeridiem(utils, 'pm'),\n onClick: readOnly ? undefined : () => handleMeridiemChange('pm'),\n disabled: disabled\n })]\n })]\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? TimePickerToolbar.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n ampm: PropTypes.bool,\n ampmInClock: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n /**\n * If `true`, show the toolbar even in desktop mode.\n * @default `true` for Desktop, `false` for Mobile.\n */\n hidden: PropTypes.bool,\n isLandscape: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n /**\n * Callback called when a toolbar is clicked\n * @template TView\n * @param {TView} view The view to open\n */\n onViewChange: PropTypes.func.isRequired,\n readOnly: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n titleId: PropTypes.string,\n /**\n * Toolbar date format.\n */\n toolbarFormat: PropTypes.string,\n /**\n * Toolbar value placeholder—it is displayed when the value is empty.\n * @default \"––\"\n */\n toolbarPlaceholder: PropTypes.node,\n value: PropTypes.object,\n /**\n * Currently visible picker view.\n */\n view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired,\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired).isRequired\n} : void 0;\nexport { TimePickerToolbar };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useThemeProps } from '@mui/material/styles';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { TimePickerToolbar } from './TimePickerToolbar';\nimport { applyDefaultViewProps } from '../internals/utils/views';\nexport function useTimePickerDefaultizedProps(props, name) {\n const utils = useUtils();\n const themeProps = useThemeProps({\n props,\n name\n });\n const ampm = themeProps.ampm ?? utils.is12HourCycleInCurrentLocale();\n const localeText = React.useMemo(() => {\n if (themeProps.localeText?.toolbarTitle == null) {\n return themeProps.localeText;\n }\n return _extends({}, themeProps.localeText, {\n timePickerToolbarTitle: themeProps.localeText.toolbarTitle\n });\n }, [themeProps.localeText]);\n return _extends({}, themeProps, {\n ampm,\n localeText\n }, applyDefaultViewProps({\n views: themeProps.views,\n openTo: themeProps.openTo,\n defaultViews: ['hours', 'minutes'],\n defaultOpenTo: 'hours'\n }), {\n disableFuture: themeProps.disableFuture ?? false,\n disablePast: themeProps.disablePast ?? false,\n slots: _extends({\n toolbar: TimePickerToolbar\n }, themeProps.slots),\n slotProps: _extends({}, themeProps.slotProps, {\n toolbar: _extends({\n ampm,\n ampmInClock: themeProps.ampmInClock\n }, themeProps.slotProps?.toolbar)\n })\n });\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getTimeClockUtilityClass(slot) {\n return generateUtilityClass('MuiTimeClock', slot);\n}\nexport const timeClockClasses = generateUtilityClasses('MuiTimeClock', ['root', 'arrowSwitcher']);","export const CLOCK_WIDTH = 220;\nexport const CLOCK_HOUR_WIDTH = 36;\nconst clockCenter = {\n x: CLOCK_WIDTH / 2,\n y: CLOCK_WIDTH / 2\n};\nconst baseClockPoint = {\n x: clockCenter.x,\n y: 0\n};\nconst cx = baseClockPoint.x - clockCenter.x;\nconst cy = baseClockPoint.y - clockCenter.y;\nconst rad2deg = rad => rad * (180 / Math.PI);\nconst getAngleValue = (step, offsetX, offsetY) => {\n const x = offsetX - clockCenter.x;\n const y = offsetY - clockCenter.y;\n const atan = Math.atan2(cx, cy) - Math.atan2(x, y);\n let deg = rad2deg(atan);\n deg = Math.round(deg / step) * step;\n deg %= 360;\n const value = Math.floor(deg / step) || 0;\n const delta = x ** 2 + y ** 2;\n const distance = Math.sqrt(delta);\n return {\n value,\n distance\n };\n};\nexport const getMinutes = (offsetX, offsetY, step = 1) => {\n const angleStep = step * 6;\n let {\n value\n } = getAngleValue(angleStep, offsetX, offsetY);\n value = value * step % 60;\n return value;\n};\nexport const getHours = (offsetX, offsetY, ampm) => {\n const {\n value,\n distance\n } = getAngleValue(30, offsetX, offsetY);\n let hour = value || 12;\n if (!ampm) {\n if (distance < CLOCK_WIDTH / 2 - CLOCK_HOUR_WIDTH) {\n hour += 12;\n hour %= 24;\n }\n } else {\n hour %= 12;\n }\n return hour;\n};","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getClockPointerUtilityClass(slot) {\n return generateUtilityClass('MuiClockPointer', slot);\n}\nexport const clockPointerClasses = generateUtilityClasses('MuiClockPointer', ['root', 'thumb']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"hasSelected\", \"isInner\", \"type\", \"viewValue\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';\nimport { getClockPointerUtilityClass } from './clockPointerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n thumb: ['thumb']\n };\n return composeClasses(slots, getClockPointerUtilityClass, classes);\n};\nconst ClockPointerRoot = styled('div', {\n name: 'MuiClockPointer',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})(({\n theme\n}) => ({\n width: 2,\n backgroundColor: (theme.vars || theme).palette.primary.main,\n position: 'absolute',\n left: 'calc(50% - 1px)',\n bottom: '50%',\n transformOrigin: 'center bottom 0px',\n variants: [{\n props: {\n shouldAnimate: true\n },\n style: {\n transition: theme.transitions.create(['transform', 'height'])\n }\n }]\n}));\nconst ClockPointerThumb = styled('div', {\n name: 'MuiClockPointer',\n slot: 'Thumb',\n overridesResolver: (_, styles) => styles.thumb\n})(({\n theme\n}) => ({\n width: 4,\n height: 4,\n backgroundColor: (theme.vars || theme).palette.primary.contrastText,\n borderRadius: '50%',\n position: 'absolute',\n top: -21,\n left: `calc(50% - ${CLOCK_HOUR_WIDTH / 2}px)`,\n border: `${(CLOCK_HOUR_WIDTH - 4) / 2}px solid ${(theme.vars || theme).palette.primary.main}`,\n boxSizing: 'content-box',\n variants: [{\n props: {\n hasSelected: true\n },\n style: {\n backgroundColor: (theme.vars || theme).palette.primary.main\n }\n }]\n}));\n\n/**\n * @ignore - internal component.\n */\nexport function ClockPointer(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiClockPointer'\n });\n const {\n className,\n isInner,\n type,\n viewValue\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const previousType = React.useRef(type);\n React.useEffect(() => {\n previousType.current = type;\n }, [type]);\n const ownerState = _extends({}, props, {\n shouldAnimate: previousType.current !== type\n });\n const classes = useUtilityClasses(ownerState);\n const getAngleStyle = () => {\n const max = type === 'hours' ? 12 : 60;\n let angle = 360 / max * viewValue;\n if (type === 'hours' && viewValue > 12) {\n angle -= 360; // round up angle to max 360 degrees\n }\n return {\n height: Math.round((isInner ? 0.26 : 0.4) * CLOCK_WIDTH),\n transform: `rotateZ(${angle}deg)`\n };\n };\n return /*#__PURE__*/_jsx(ClockPointerRoot, _extends({\n style: getAngleStyle(),\n className: clsx(className, classes.root),\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(ClockPointerThumb, {\n ownerState: ownerState,\n className: classes.thumb\n })\n }));\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getClockUtilityClass(slot) {\n return generateUtilityClass('MuiClock', slot);\n}\nexport const clockClasses = generateUtilityClasses('MuiClock', ['root', 'clock', 'wrapper', 'squareMask', 'pin', 'amButton', 'pmButton', 'meridiemText', 'selected']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_useEnhancedEffect as useEnhancedEffect, unstable_composeClasses as composeClasses } from '@mui/utils';\nimport { ClockPointer } from './ClockPointer';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { CLOCK_HOUR_WIDTH, getHours, getMinutes } from './shared';\nimport { getClockUtilityClass } from './clockClasses';\nimport { formatMeridiem } from '../internals/utils/date-utils';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n meridiemMode\n } = ownerState;\n const slots = {\n root: ['root'],\n clock: ['clock'],\n wrapper: ['wrapper'],\n squareMask: ['squareMask'],\n pin: ['pin'],\n amButton: ['amButton', meridiemMode === 'am' && 'selected'],\n pmButton: ['pmButton', meridiemMode === 'pm' && 'selected'],\n meridiemText: ['meridiemText']\n };\n return composeClasses(slots, getClockUtilityClass, classes);\n};\nconst ClockRoot = styled('div', {\n name: 'MuiClock',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})(({\n theme\n}) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n margin: theme.spacing(2)\n}));\nconst ClockClock = styled('div', {\n name: 'MuiClock',\n slot: 'Clock',\n overridesResolver: (_, styles) => styles.clock\n})({\n backgroundColor: 'rgba(0,0,0,.07)',\n borderRadius: '50%',\n height: 220,\n width: 220,\n flexShrink: 0,\n position: 'relative',\n pointerEvents: 'none'\n});\nconst ClockWrapper = styled('div', {\n name: 'MuiClock',\n slot: 'Wrapper',\n overridesResolver: (_, styles) => styles.wrapper\n})({\n '&:focus': {\n outline: 'none'\n }\n});\nconst ClockSquareMask = styled('div', {\n name: 'MuiClock',\n slot: 'SquareMask',\n overridesResolver: (_, styles) => styles.squareMask\n})({\n width: '100%',\n height: '100%',\n position: 'absolute',\n pointerEvents: 'auto',\n outline: 0,\n // Disable scroll capabilities.\n touchAction: 'none',\n userSelect: 'none',\n variants: [{\n props: {\n disabled: false\n },\n style: {\n '@media (pointer: fine)': {\n cursor: 'pointer',\n borderRadius: '50%'\n },\n '&:active': {\n cursor: 'move'\n }\n }\n }]\n});\nconst ClockPin = styled('div', {\n name: 'MuiClock',\n slot: 'Pin',\n overridesResolver: (_, styles) => styles.pin\n})(({\n theme\n}) => ({\n width: 6,\n height: 6,\n borderRadius: '50%',\n backgroundColor: (theme.vars || theme).palette.primary.main,\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)'\n}));\nconst meridiemButtonCommonStyles = (theme, meridiemMode) => ({\n zIndex: 1,\n bottom: 8,\n paddingLeft: 4,\n paddingRight: 4,\n width: CLOCK_HOUR_WIDTH,\n variants: [{\n props: {\n meridiemMode\n },\n style: {\n backgroundColor: (theme.vars || theme).palette.primary.main,\n color: (theme.vars || theme).palette.primary.contrastText,\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette.primary.light\n }\n }\n }]\n});\nconst ClockAmButton = styled(IconButton, {\n name: 'MuiClock',\n slot: 'AmButton',\n overridesResolver: (_, styles) => styles.amButton\n})(({\n theme\n}) => _extends({}, meridiemButtonCommonStyles(theme, 'am'), {\n // keeping it here to make TS happy\n position: 'absolute',\n left: 8\n}));\nconst ClockPmButton = styled(IconButton, {\n name: 'MuiClock',\n slot: 'PmButton',\n overridesResolver: (_, styles) => styles.pmButton\n})(({\n theme\n}) => _extends({}, meridiemButtonCommonStyles(theme, 'pm'), {\n // keeping it here to make TS happy\n position: 'absolute',\n right: 8\n}));\nconst ClockMeridiemText = styled(Typography, {\n name: 'MuiClock',\n slot: 'meridiemText',\n overridesResolver: (_, styles) => styles.meridiemText\n})({\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n});\n\n/**\n * @ignore - internal component.\n */\nexport function Clock(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiClock'\n });\n const {\n ampm,\n ampmInClock,\n autoFocus,\n children,\n value,\n handleMeridiemChange,\n isTimeDisabled,\n meridiemMode,\n minutesStep = 1,\n onChange,\n selectedId,\n type,\n viewValue,\n disabled = false,\n readOnly,\n className\n } = props;\n const ownerState = props;\n const utils = useUtils();\n const translations = usePickersTranslations();\n const isMoving = React.useRef(false);\n const classes = useUtilityClasses(ownerState);\n const isSelectedTimeDisabled = isTimeDisabled(viewValue, type);\n const isPointerInner = !ampm && type === 'hours' && (viewValue < 1 || viewValue > 12);\n const handleValueChange = (newValue, isFinish) => {\n if (disabled || readOnly) {\n return;\n }\n if (isTimeDisabled(newValue, type)) {\n return;\n }\n onChange(newValue, isFinish);\n };\n const setTime = (event, isFinish) => {\n let {\n offsetX,\n offsetY\n } = event;\n if (offsetX === undefined) {\n const rect = event.target.getBoundingClientRect();\n offsetX = event.changedTouches[0].clientX - rect.left;\n offsetY = event.changedTouches[0].clientY - rect.top;\n }\n const newSelectedValue = type === 'seconds' || type === 'minutes' ? getMinutes(offsetX, offsetY, minutesStep) : getHours(offsetX, offsetY, Boolean(ampm));\n handleValueChange(newSelectedValue, isFinish);\n };\n const handleTouchMove = event => {\n isMoving.current = true;\n setTime(event, 'shallow');\n };\n const handleTouchEnd = event => {\n if (isMoving.current) {\n setTime(event, 'finish');\n isMoving.current = false;\n }\n };\n const handleMouseMove = event => {\n // event.buttons & PRIMARY_MOUSE_BUTTON\n if (event.buttons > 0) {\n setTime(event.nativeEvent, 'shallow');\n }\n };\n const handleMouseUp = event => {\n if (isMoving.current) {\n isMoving.current = false;\n }\n setTime(event.nativeEvent, 'finish');\n };\n const hasSelected = React.useMemo(() => {\n if (type === 'hours') {\n return true;\n }\n return viewValue % 5 === 0;\n }, [type, viewValue]);\n const keyboardControlStep = type === 'minutes' ? minutesStep : 1;\n const listboxRef = React.useRef(null);\n // Since this is rendered when a Popper is opened we can't use passive effects.\n // Focusing in passive effects in Popper causes scroll jump.\n useEnhancedEffect(() => {\n if (autoFocus) {\n // The ref not being resolved would be a bug in MUI.\n listboxRef.current.focus();\n }\n }, [autoFocus]);\n const handleKeyDown = event => {\n // TODO: Why this early exit?\n if (isMoving.current) {\n return;\n }\n switch (event.key) {\n case 'Home':\n // reset both hours and minutes\n handleValueChange(0, 'partial');\n event.preventDefault();\n break;\n case 'End':\n handleValueChange(type === 'minutes' ? 59 : 23, 'partial');\n event.preventDefault();\n break;\n case 'ArrowUp':\n handleValueChange(viewValue + keyboardControlStep, 'partial');\n event.preventDefault();\n break;\n case 'ArrowDown':\n handleValueChange(viewValue - keyboardControlStep, 'partial');\n event.preventDefault();\n break;\n default:\n // do nothing\n }\n };\n return /*#__PURE__*/_jsxs(ClockRoot, {\n className: clsx(className, classes.root),\n children: [/*#__PURE__*/_jsxs(ClockClock, {\n className: classes.clock,\n children: [/*#__PURE__*/_jsx(ClockSquareMask, {\n onTouchMove: handleTouchMove,\n onTouchEnd: handleTouchEnd,\n onMouseUp: handleMouseUp,\n onMouseMove: handleMouseMove,\n ownerState: {\n disabled\n },\n className: classes.squareMask\n }), !isSelectedTimeDisabled && /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(ClockPin, {\n className: classes.pin\n }), value != null && /*#__PURE__*/_jsx(ClockPointer, {\n type: type,\n viewValue: viewValue,\n isInner: isPointerInner,\n hasSelected: hasSelected\n })]\n }), /*#__PURE__*/_jsx(ClockWrapper, {\n \"aria-activedescendant\": selectedId,\n \"aria-label\": translations.clockLabelText(type, value, utils),\n ref: listboxRef,\n role: \"listbox\",\n onKeyDown: handleKeyDown,\n tabIndex: 0,\n className: classes.wrapper,\n children: children\n })]\n }), ampm && ampmInClock && /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(ClockAmButton, {\n onClick: readOnly ? undefined : () => handleMeridiemChange('am'),\n disabled: disabled || meridiemMode === null,\n ownerState: ownerState,\n className: classes.amButton,\n title: formatMeridiem(utils, 'am'),\n children: /*#__PURE__*/_jsx(ClockMeridiemText, {\n variant: \"caption\",\n className: classes.meridiemText,\n children: formatMeridiem(utils, 'am')\n })\n }), /*#__PURE__*/_jsx(ClockPmButton, {\n disabled: disabled || meridiemMode === null,\n onClick: readOnly ? undefined : () => handleMeridiemChange('pm'),\n ownerState: ownerState,\n className: classes.pmButton,\n title: formatMeridiem(utils, 'pm'),\n children: /*#__PURE__*/_jsx(ClockMeridiemText, {\n variant: \"caption\",\n className: classes.meridiemText,\n children: formatMeridiem(utils, 'pm')\n })\n })]\n })]\n });\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getClockNumberUtilityClass(slot) {\n return generateUtilityClass('MuiClockNumber', slot);\n}\nexport const clockNumberClasses = generateUtilityClasses('MuiClockNumber', ['root', 'selected', 'disabled']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"index\", \"inner\", \"label\", \"selected\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';\nimport { getClockNumberUtilityClass, clockNumberClasses } from './clockNumberClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n selected,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', selected && 'selected', disabled && 'disabled']\n };\n return composeClasses(slots, getClockNumberUtilityClass, classes);\n};\nconst ClockNumberRoot = styled('span', {\n name: 'MuiClockNumber',\n slot: 'Root',\n overridesResolver: (_, styles) => [styles.root, {\n [`&.${clockNumberClasses.disabled}`]: styles.disabled\n }, {\n [`&.${clockNumberClasses.selected}`]: styles.selected\n }]\n})(({\n theme\n}) => ({\n height: CLOCK_HOUR_WIDTH,\n width: CLOCK_HOUR_WIDTH,\n position: 'absolute',\n left: `calc((100% - ${CLOCK_HOUR_WIDTH}px) / 2)`,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '50%',\n color: (theme.vars || theme).palette.text.primary,\n fontFamily: theme.typography.fontFamily,\n '&:focused': {\n backgroundColor: (theme.vars || theme).palette.background.paper\n },\n [`&.${clockNumberClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.contrastText\n },\n [`&.${clockNumberClasses.disabled}`]: {\n pointerEvents: 'none',\n color: (theme.vars || theme).palette.text.disabled\n },\n variants: [{\n props: {\n inner: true\n },\n style: _extends({}, theme.typography.body2, {\n color: (theme.vars || theme).palette.text.secondary\n })\n }]\n}));\n\n/**\n * @ignore - internal component.\n */\nexport function ClockNumber(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiClockNumber'\n });\n const {\n className,\n disabled,\n index,\n inner,\n label,\n selected\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const angle = index % 12 / 12 * Math.PI * 2 - Math.PI / 2;\n const length = (CLOCK_WIDTH - CLOCK_HOUR_WIDTH - 2) / 2 * (inner ? 0.65 : 1);\n const x = Math.round(Math.cos(angle) * length);\n const y = Math.round(Math.sin(angle) * length);\n return /*#__PURE__*/_jsx(ClockNumberRoot, _extends({\n className: clsx(className, classes.root),\n \"aria-disabled\": disabled ? true : undefined,\n \"aria-selected\": selected ? true : undefined,\n role: \"option\",\n style: {\n transform: `translate(${x}px, ${y + (CLOCK_WIDTH - CLOCK_HOUR_WIDTH) / 2}px`\n },\n ownerState: ownerState\n }, other, {\n children: label\n }));\n}","import * as React from 'react';\nimport { ClockNumber } from './ClockNumber';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * @ignore - internal component.\n */\nexport const getHourNumbers = ({\n ampm,\n value,\n getClockNumberText,\n isDisabled,\n selectedId,\n utils\n}) => {\n const currentHours = value ? utils.getHours(value) : null;\n const hourNumbers = [];\n const startHour = ampm ? 1 : 0;\n const endHour = ampm ? 12 : 23;\n const isSelected = hour => {\n if (currentHours === null) {\n return false;\n }\n if (ampm) {\n if (hour === 12) {\n return currentHours === 12 || currentHours === 0;\n }\n return currentHours === hour || currentHours - 12 === hour;\n }\n return currentHours === hour;\n };\n for (let hour = startHour; hour <= endHour; hour += 1) {\n let label = hour.toString();\n if (hour === 0) {\n label = '00';\n }\n const inner = !ampm && (hour === 0 || hour > 12);\n label = utils.formatNumber(label);\n const selected = isSelected(hour);\n hourNumbers.push( /*#__PURE__*/_jsx(ClockNumber, {\n id: selected ? selectedId : undefined,\n index: hour,\n inner: inner,\n selected: selected,\n disabled: isDisabled(hour),\n label: label,\n \"aria-label\": getClockNumberText(label)\n }, hour));\n }\n return hourNumbers;\n};\nexport const getMinutesNumbers = ({\n utils,\n value,\n isDisabled,\n getClockNumberText,\n selectedId\n}) => {\n const f = utils.formatNumber;\n return [[5, f('05')], [10, f('10')], [15, f('15')], [20, f('20')], [25, f('25')], [30, f('30')], [35, f('35')], [40, f('40')], [45, f('45')], [50, f('50')], [55, f('55')], [0, f('00')]].map(([numberValue, label], index) => {\n const selected = numberValue === value;\n return /*#__PURE__*/_jsx(ClockNumber, {\n label: label,\n id: selected ? selectedId : undefined,\n index: index + 1,\n inner: false,\n disabled: isDisabled(numberValue),\n selected: selected,\n \"aria-label\": getClockNumberText(label)\n }, numberValue);\n });\n};","import * as React from 'react';\nimport { singleItemValueManager } from '../utils/valueManagers';\nimport { getTodayDate } from '../utils/date-utils';\nimport { SECTION_TYPE_GRANULARITY } from '../utils/getDefaultReferenceDate';\nexport const useClockReferenceDate = ({\n value,\n referenceDate: referenceDateProp,\n utils,\n props,\n timezone\n}) => {\n const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({\n value,\n utils,\n props,\n referenceDate: referenceDateProp,\n granularity: SECTION_TYPE_GRANULARITY.day,\n timezone,\n getTodayDate: () => getTodayDate(utils, timezone, 'date')\n }),\n // We only want to compute the reference date on mount.\n [] // eslint-disable-line react-hooks/exhaustive-deps\n );\n return value ?? referenceDate;\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"ampm\", \"ampmInClock\", \"autoFocus\", \"slots\", \"slotProps\", \"value\", \"defaultValue\", \"referenceDate\", \"disableIgnoringDatePartForTimeValidation\", \"maxTime\", \"minTime\", \"disableFuture\", \"disablePast\", \"minutesStep\", \"shouldDisableTime\", \"showViewSwitcher\", \"onChange\", \"view\", \"views\", \"openTo\", \"onViewChange\", \"focusedView\", \"onFocusedViewChange\", \"className\", \"disabled\", \"readOnly\", \"timezone\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses, unstable_useId as useId } from '@mui/utils';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils, useNow } from '../internals/hooks/useUtils';\nimport { PickersArrowSwitcher } from '../internals/components/PickersArrowSwitcher';\nimport { convertValueToMeridiem, createIsAfterIgnoreDatePart } from '../internals/utils/time-utils';\nimport { useViews } from '../internals/hooks/useViews';\nimport { useMeridiemMode } from '../internals/hooks/date-helpers-hooks';\nimport { PickerViewRoot } from '../internals/components/PickerViewRoot';\nimport { getTimeClockUtilityClass } from './timeClockClasses';\nimport { Clock } from './Clock';\nimport { getHourNumbers, getMinutesNumbers } from './ClockNumbers';\nimport { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { useClockReferenceDate } from '../internals/hooks/useClockReferenceDate';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n arrowSwitcher: ['arrowSwitcher']\n };\n return composeClasses(slots, getTimeClockUtilityClass, classes);\n};\nconst TimeClockRoot = styled(PickerViewRoot, {\n name: 'MuiTimeClock',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex',\n flexDirection: 'column',\n position: 'relative'\n});\nconst TimeClockArrowSwitcher = styled(PickersArrowSwitcher, {\n name: 'MuiTimeClock',\n slot: 'ArrowSwitcher',\n overridesResolver: (props, styles) => styles.arrowSwitcher\n})({\n position: 'absolute',\n right: 12,\n top: 15\n});\nconst TIME_CLOCK_DEFAULT_VIEWS = ['hours', 'minutes'];\n\n/**\n * Demos:\n *\n * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)\n * - [TimeClock](https://mui.com/x/react-date-pickers/time-clock/)\n *\n * API:\n *\n * - [TimeClock API](https://mui.com/x/api/date-pickers/time-clock/)\n */\nexport const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProps, ref) {\n const utils = useUtils();\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTimeClock'\n });\n const {\n ampm = utils.is12HourCycleInCurrentLocale(),\n ampmInClock = false,\n autoFocus,\n slots,\n slotProps,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disableIgnoringDatePartForTimeValidation = false,\n maxTime,\n minTime,\n disableFuture,\n disablePast,\n minutesStep = 1,\n shouldDisableTime,\n showViewSwitcher,\n onChange,\n view: inView,\n views = TIME_CLOCK_DEFAULT_VIEWS,\n openTo,\n onViewChange,\n focusedView,\n onFocusedViewChange,\n className,\n disabled,\n readOnly,\n timezone: timezoneProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'TimeClock',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange,\n valueManager: singleItemValueManager\n });\n const valueOrReferenceDate = useClockReferenceDate({\n value,\n referenceDate: referenceDateProp,\n utils,\n props,\n timezone\n });\n const translations = usePickersTranslations();\n const now = useNow(timezone);\n const {\n view,\n setView,\n previousView,\n nextView,\n setValueAndGoToNextView\n } = useViews({\n view: inView,\n views,\n openTo,\n onViewChange,\n onChange: handleValueChange,\n focusedView,\n onFocusedViewChange\n });\n const {\n meridiemMode,\n handleMeridiemChange\n } = useMeridiemMode(valueOrReferenceDate, ampm, setValueAndGoToNextView);\n const isTimeDisabled = React.useCallback((rawValue, viewType) => {\n const isAfter = createIsAfterIgnoreDatePart(disableIgnoringDatePartForTimeValidation, utils);\n const shouldCheckPastEnd = viewType === 'hours' || viewType === 'minutes' && views.includes('seconds');\n const containsValidTime = ({\n start,\n end\n }) => {\n if (minTime && isAfter(minTime, end)) {\n return false;\n }\n if (maxTime && isAfter(start, maxTime)) {\n return false;\n }\n if (disableFuture && isAfter(start, now)) {\n return false;\n }\n if (disablePast && isAfter(now, shouldCheckPastEnd ? end : start)) {\n return false;\n }\n return true;\n };\n const isValidValue = (timeValue, step = 1) => {\n if (timeValue % step !== 0) {\n return false;\n }\n if (shouldDisableTime) {\n switch (viewType) {\n case 'hours':\n return !shouldDisableTime(utils.setHours(valueOrReferenceDate, timeValue), 'hours');\n case 'minutes':\n return !shouldDisableTime(utils.setMinutes(valueOrReferenceDate, timeValue), 'minutes');\n case 'seconds':\n return !shouldDisableTime(utils.setSeconds(valueOrReferenceDate, timeValue), 'seconds');\n default:\n return false;\n }\n }\n return true;\n };\n switch (viewType) {\n case 'hours':\n {\n const valueWithMeridiem = convertValueToMeridiem(rawValue, meridiemMode, ampm);\n const dateWithNewHours = utils.setHours(valueOrReferenceDate, valueWithMeridiem);\n const start = utils.setSeconds(utils.setMinutes(dateWithNewHours, 0), 0);\n const end = utils.setSeconds(utils.setMinutes(dateWithNewHours, 59), 59);\n return !containsValidTime({\n start,\n end\n }) || !isValidValue(valueWithMeridiem);\n }\n case 'minutes':\n {\n const dateWithNewMinutes = utils.setMinutes(valueOrReferenceDate, rawValue);\n const start = utils.setSeconds(dateWithNewMinutes, 0);\n const end = utils.setSeconds(dateWithNewMinutes, 59);\n return !containsValidTime({\n start,\n end\n }) || !isValidValue(rawValue, minutesStep);\n }\n case 'seconds':\n {\n const dateWithNewSeconds = utils.setSeconds(valueOrReferenceDate, rawValue);\n const start = dateWithNewSeconds;\n const end = dateWithNewSeconds;\n return !containsValidTime({\n start,\n end\n }) || !isValidValue(rawValue);\n }\n default:\n throw new Error('not supported');\n }\n }, [ampm, valueOrReferenceDate, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime, utils, disableFuture, disablePast, now, views]);\n const selectedId = useId();\n const viewProps = React.useMemo(() => {\n switch (view) {\n case 'hours':\n {\n const handleHoursChange = (hourValue, isFinish) => {\n const valueWithMeridiem = convertValueToMeridiem(hourValue, meridiemMode, ampm);\n setValueAndGoToNextView(utils.setHours(valueOrReferenceDate, valueWithMeridiem), isFinish, 'hours');\n };\n return {\n onChange: handleHoursChange,\n viewValue: utils.getHours(valueOrReferenceDate),\n children: getHourNumbers({\n value,\n utils,\n ampm,\n onChange: handleHoursChange,\n getClockNumberText: translations.hoursClockNumberText,\n isDisabled: hourValue => disabled || isTimeDisabled(hourValue, 'hours'),\n selectedId\n })\n };\n }\n case 'minutes':\n {\n const minutesValue = utils.getMinutes(valueOrReferenceDate);\n const handleMinutesChange = (minuteValue, isFinish) => {\n setValueAndGoToNextView(utils.setMinutes(valueOrReferenceDate, minuteValue), isFinish, 'minutes');\n };\n return {\n viewValue: minutesValue,\n onChange: handleMinutesChange,\n children: getMinutesNumbers({\n utils,\n value: minutesValue,\n onChange: handleMinutesChange,\n getClockNumberText: translations.minutesClockNumberText,\n isDisabled: minuteValue => disabled || isTimeDisabled(minuteValue, 'minutes'),\n selectedId\n })\n };\n }\n case 'seconds':\n {\n const secondsValue = utils.getSeconds(valueOrReferenceDate);\n const handleSecondsChange = (secondValue, isFinish) => {\n setValueAndGoToNextView(utils.setSeconds(valueOrReferenceDate, secondValue), isFinish, 'seconds');\n };\n return {\n viewValue: secondsValue,\n onChange: handleSecondsChange,\n children: getMinutesNumbers({\n utils,\n value: secondsValue,\n onChange: handleSecondsChange,\n getClockNumberText: translations.secondsClockNumberText,\n isDisabled: secondValue => disabled || isTimeDisabled(secondValue, 'seconds'),\n selectedId\n })\n };\n }\n default:\n throw new Error('You must provide the type for ClockView');\n }\n }, [view, utils, value, ampm, translations.hoursClockNumberText, translations.minutesClockNumberText, translations.secondsClockNumberText, meridiemMode, setValueAndGoToNextView, valueOrReferenceDate, isTimeDisabled, selectedId, disabled]);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(TimeClockRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(Clock, _extends({\n autoFocus: autoFocus ?? !!focusedView,\n ampmInClock: ampmInClock && views.includes('hours'),\n value: value,\n type: view,\n ampm: ampm,\n minutesStep: minutesStep,\n isTimeDisabled: isTimeDisabled,\n meridiemMode: meridiemMode,\n handleMeridiemChange: handleMeridiemChange,\n selectedId: selectedId,\n disabled: disabled,\n readOnly: readOnly\n }, viewProps)), showViewSwitcher && /*#__PURE__*/_jsx(TimeClockArrowSwitcher, {\n className: classes.arrowSwitcher,\n slots: slots,\n slotProps: slotProps,\n onGoToPrevious: () => setView(previousView),\n isPreviousDisabled: !previousView,\n previousLabel: translations.openPreviousView,\n onGoToNext: () => setView(nextView),\n isNextDisabled: !nextView,\n nextLabel: translations.openNextView,\n ownerState: ownerState\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TimeClock.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * 12h/24h view for hour selection clock.\n * @default utils.is12HourCycleInCurrentLocale()\n */\n ampm: PropTypes.bool,\n /**\n * Display ampm controls under the clock (instead of in the toolbar).\n * @default false\n */\n ampmInClock: PropTypes.bool,\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker views and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * Do not ignore date part when validating min/max time.\n * @default false\n */\n disableIgnoringDatePartForTimeValidation: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * Controlled focused view.\n */\n focusedView: PropTypes.oneOf(['hours', 'minutes', 'seconds']),\n /**\n * Maximal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n maxTime: PropTypes.object,\n /**\n * Minimal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n minTime: PropTypes.object,\n /**\n * Step over minutes.\n * @default 1\n */\n minutesStep: PropTypes.number,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TView The view type. Will be one of date or time views.\n * @param {TValue} value The new value.\n * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.\n * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired on focused view change.\n * @template TView\n * @param {TView} view The new view to focus or not.\n * @param {boolean} hasFocus `true` if the view should be focused.\n */\n onFocusedViewChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),\n /**\n * If `true`, the picker views and text field are read-only.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.\n */\n referenceDate: PropTypes.object,\n /**\n * Disable specific time.\n * @template TDate\n * @param {TDate} value The value to check.\n * @param {TimeView} view The clock type of the timeValue.\n * @returns {boolean} If `true` the time will be disabled.\n */\n shouldDisableTime: PropTypes.func,\n showViewSwitcher: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['hours', 'minutes', 'seconds']),\n /**\n * Available views.\n * @default ['hours', 'minutes']\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired)\n} : void 0;","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getDigitalClockUtilityClass(slot) {\n return generateUtilityClass('MuiDigitalClock', slot);\n}\nexport const digitalClockClasses = generateUtilityClasses('MuiDigitalClock', ['root', 'list', 'item']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"ampm\", \"timeStep\", \"autoFocus\", \"slots\", \"slotProps\", \"value\", \"defaultValue\", \"referenceDate\", \"disableIgnoringDatePartForTimeValidation\", \"maxTime\", \"minTime\", \"disableFuture\", \"disablePast\", \"minutesStep\", \"shouldDisableTime\", \"onChange\", \"view\", \"openTo\", \"onViewChange\", \"focusedView\", \"onFocusedViewChange\", \"className\", \"disabled\", \"readOnly\", \"views\", \"skipDisabled\", \"timezone\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { alpha, styled, useThemeProps } from '@mui/material/styles';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport composeClasses from '@mui/utils/composeClasses';\nimport MenuItem from '@mui/material/MenuItem';\nimport MenuList from '@mui/material/MenuList';\nimport useForkRef from '@mui/utils/useForkRef';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils, useNow } from '../internals/hooks/useUtils';\nimport { createIsAfterIgnoreDatePart } from '../internals/utils/time-utils';\nimport { PickerViewRoot } from '../internals/components/PickerViewRoot';\nimport { getDigitalClockUtilityClass } from './digitalClockClasses';\nimport { useViews } from '../internals/hooks/useViews';\nimport { DIGITAL_CLOCK_VIEW_HEIGHT } from '../internals/constants/dimensions';\nimport { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { useClockReferenceDate } from '../internals/hooks/useClockReferenceDate';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n list: ['list'],\n item: ['item']\n };\n return composeClasses(slots, getDigitalClockUtilityClass, classes);\n};\nconst DigitalClockRoot = styled(PickerViewRoot, {\n name: 'MuiDigitalClock',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n overflowY: 'auto',\n width: '100%',\n '@media (prefers-reduced-motion: no-preference)': {\n scrollBehavior: 'auto'\n },\n maxHeight: DIGITAL_CLOCK_VIEW_HEIGHT,\n variants: [{\n props: {\n alreadyRendered: true\n },\n style: {\n '@media (prefers-reduced-motion: no-preference)': {\n scrollBehavior: 'smooth'\n }\n }\n }]\n});\nconst DigitalClockList = styled(MenuList, {\n name: 'MuiDigitalClock',\n slot: 'List',\n overridesResolver: (props, styles) => styles.list\n})({\n padding: 0\n});\nconst DigitalClockItem = styled(MenuItem, {\n name: 'MuiDigitalClock',\n slot: 'Item',\n overridesResolver: (props, styles) => styles.item\n})(({\n theme\n}) => ({\n padding: '8px 16px',\n margin: '2px 4px',\n '&:first-of-type': {\n marginTop: 4\n },\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity)\n },\n '&.Mui-selected': {\n backgroundColor: (theme.vars || theme).palette.primary.main,\n color: (theme.vars || theme).palette.primary.contrastText,\n '&:focus-visible, &:hover': {\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n },\n '&.Mui-focusVisible': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity)\n }\n}));\n/**\n * Demos:\n *\n * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)\n * - [DigitalClock](https://mui.com/x/react-date-pickers/digital-clock/)\n *\n * API:\n *\n * - [DigitalClock API](https://mui.com/x/api/date-pickers/digital-clock/)\n */\nexport const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(inProps, ref) {\n const utils = useUtils();\n const containerRef = React.useRef(null);\n const handleRef = useForkRef(ref, containerRef);\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDigitalClock'\n });\n const {\n ampm = utils.is12HourCycleInCurrentLocale(),\n timeStep = 30,\n autoFocus,\n slots,\n slotProps,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disableIgnoringDatePartForTimeValidation = false,\n maxTime,\n minTime,\n disableFuture,\n disablePast,\n minutesStep = 1,\n shouldDisableTime,\n onChange,\n view: inView,\n openTo,\n onViewChange,\n focusedView,\n onFocusedViewChange,\n className,\n disabled,\n readOnly,\n views = ['hours'],\n skipDisabled = false,\n timezone: timezoneProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange: handleRawValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'DigitalClock',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange,\n valueManager: singleItemValueManager\n });\n const translations = usePickersTranslations();\n const now = useNow(timezone);\n const ownerState = React.useMemo(() => _extends({}, props, {\n alreadyRendered: !!containerRef.current\n }), [props]);\n const classes = useUtilityClasses(ownerState);\n const ClockItem = slots?.digitalClockItem ?? DigitalClockItem;\n const clockItemProps = useSlotProps({\n elementType: ClockItem,\n externalSlotProps: slotProps?.digitalClockItem,\n ownerState: {},\n className: classes.item\n });\n const valueOrReferenceDate = useClockReferenceDate({\n value,\n referenceDate: referenceDateProp,\n utils,\n props,\n timezone\n });\n const handleValueChange = useEventCallback(newValue => handleRawValueChange(newValue, 'finish', 'hours'));\n const {\n setValueAndGoToNextView\n } = useViews({\n view: inView,\n views,\n openTo,\n onViewChange,\n onChange: handleValueChange,\n focusedView,\n onFocusedViewChange\n });\n const handleItemSelect = useEventCallback(newValue => {\n setValueAndGoToNextView(newValue, 'finish');\n });\n React.useEffect(() => {\n if (containerRef.current === null) {\n return;\n }\n const activeItem = containerRef.current.querySelector('[role=\"listbox\"] [role=\"option\"][tabindex=\"0\"], [role=\"listbox\"] [role=\"option\"][aria-selected=\"true\"]');\n if (!activeItem) {\n return;\n }\n const offsetTop = activeItem.offsetTop;\n if (autoFocus || !!focusedView) {\n activeItem.focus();\n }\n\n // Subtracting the 4px of extra margin intended for the first visible section item\n containerRef.current.scrollTop = offsetTop - 4;\n });\n const isTimeDisabled = React.useCallback(valueToCheck => {\n const isAfter = createIsAfterIgnoreDatePart(disableIgnoringDatePartForTimeValidation, utils);\n const containsValidTime = () => {\n if (minTime && isAfter(minTime, valueToCheck)) {\n return false;\n }\n if (maxTime && isAfter(valueToCheck, maxTime)) {\n return false;\n }\n if (disableFuture && isAfter(valueToCheck, now)) {\n return false;\n }\n if (disablePast && isAfter(now, valueToCheck)) {\n return false;\n }\n return true;\n };\n const isValidValue = () => {\n if (utils.getMinutes(valueToCheck) % minutesStep !== 0) {\n return false;\n }\n if (shouldDisableTime) {\n return !shouldDisableTime(valueToCheck, 'hours');\n }\n return true;\n };\n return !containsValidTime() || !isValidValue();\n }, [disableIgnoringDatePartForTimeValidation, utils, minTime, maxTime, disableFuture, now, disablePast, minutesStep, shouldDisableTime]);\n const timeOptions = React.useMemo(() => {\n const startOfDay = utils.startOfDay(valueOrReferenceDate);\n return [startOfDay, ...Array.from({\n length: Math.ceil(24 * 60 / timeStep) - 1\n }, (_, index) => utils.addMinutes(startOfDay, timeStep * (index + 1)))];\n }, [valueOrReferenceDate, timeStep, utils]);\n const focusedOptionIndex = timeOptions.findIndex(option => utils.isEqual(option, valueOrReferenceDate));\n return /*#__PURE__*/_jsx(DigitalClockRoot, _extends({\n ref: handleRef,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(DigitalClockList, {\n role: \"listbox\",\n \"aria-label\": translations.timePickerToolbarTitle,\n className: classes.list,\n children: timeOptions.map((option, index) => {\n if (skipDisabled && isTimeDisabled(option)) {\n return null;\n }\n const isSelected = utils.isEqual(option, value);\n const formattedValue = utils.format(option, ampm ? 'fullTime12h' : 'fullTime24h');\n const tabIndex = focusedOptionIndex === index || focusedOptionIndex === -1 && index === 0 ? 0 : -1;\n return /*#__PURE__*/_jsx(ClockItem, _extends({\n onClick: () => !readOnly && handleItemSelect(option),\n selected: isSelected,\n disabled: disabled || isTimeDisabled(option),\n disableRipple: readOnly,\n role: \"option\"\n // aria-readonly is not supported here and does not have any effect\n ,\n \"aria-disabled\": readOnly,\n \"aria-selected\": isSelected,\n tabIndex: tabIndex\n }, clockItemProps, {\n children: formattedValue\n }), formattedValue);\n })\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DigitalClock.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * 12h/24h view for hour selection clock.\n * @default utils.is12HourCycleInCurrentLocale()\n */\n ampm: PropTypes.bool,\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker views and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * Do not ignore date part when validating min/max time.\n * @default false\n */\n disableIgnoringDatePartForTimeValidation: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * Controlled focused view.\n */\n focusedView: PropTypes.oneOf(['hours']),\n /**\n * Maximal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n maxTime: PropTypes.object,\n /**\n * Minimal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n minTime: PropTypes.object,\n /**\n * Step over minutes.\n * @default 1\n */\n minutesStep: PropTypes.number,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TView The view type. Will be one of date or time views.\n * @param {TValue} value The new value.\n * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.\n * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired on focused view change.\n * @template TView\n * @param {TView} view The new view to focus or not.\n * @param {boolean} hasFocus `true` if the view should be focused.\n */\n onFocusedViewChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['hours']),\n /**\n * If `true`, the picker views and text field are read-only.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.\n */\n referenceDate: PropTypes.object,\n /**\n * Disable specific time.\n * @template TDate\n * @param {TDate} value The value to check.\n * @param {TimeView} view The clock type of the timeValue.\n * @returns {boolean} If `true` the time will be disabled.\n */\n shouldDisableTime: PropTypes.func,\n /**\n * If `true`, disabled digital clock items will not be rendered.\n * @default false\n */\n skipDisabled: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overrideable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The time steps between two time options.\n * For example, if `timeStep = 45`, then the available time options will be `[00:00, 00:45, 01:30, 02:15, 03:00, etc.]`.\n * @default 30\n */\n timeStep: PropTypes.number,\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['hours']),\n /**\n * Available views.\n * @default ['hours']\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['hours']))\n} : void 0;","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getMultiSectionDigitalClockUtilityClass(slot) {\n return generateUtilityClass('MuiMultiSectionDigitalClock', slot);\n}\nexport const multiSectionDigitalClockClasses = generateUtilityClasses('MuiMultiSectionDigitalClock', ['root']);","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getMultiSectionDigitalClockSectionUtilityClass(slot) {\n return generateUtilityClass('MuiMultiSectionDigitalClockSection', slot);\n}\nexport const multiSectionDigitalClockSectionClasses = generateUtilityClasses('MuiMultiSectionDigitalClockSection', ['root', 'item']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoFocus\", \"onChange\", \"className\", \"disabled\", \"readOnly\", \"items\", \"active\", \"slots\", \"slotProps\", \"skipDisabled\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { alpha, styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport MenuList from '@mui/material/MenuList';\nimport MenuItem from '@mui/material/MenuItem';\nimport useForkRef from '@mui/utils/useForkRef';\nimport { getMultiSectionDigitalClockSectionUtilityClass } from './multiSectionDigitalClockSectionClasses';\nimport { DIGITAL_CLOCK_VIEW_HEIGHT, MULTI_SECTION_CLOCK_SECTION_WIDTH } from '../internals/constants/dimensions';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n item: ['item']\n };\n return composeClasses(slots, getMultiSectionDigitalClockSectionUtilityClass, classes);\n};\nconst MultiSectionDigitalClockSectionRoot = styled(MenuList, {\n name: 'MuiMultiSectionDigitalClockSection',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})(({\n theme\n}) => ({\n maxHeight: DIGITAL_CLOCK_VIEW_HEIGHT,\n width: 56,\n padding: 0,\n overflow: 'hidden',\n '@media (prefers-reduced-motion: no-preference)': {\n scrollBehavior: 'auto'\n },\n '@media (pointer: fine)': {\n '&:hover': {\n overflowY: 'auto'\n }\n },\n '@media (pointer: none), (pointer: coarse)': {\n overflowY: 'auto'\n },\n '&:not(:first-of-type)': {\n borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`\n },\n '&::after': {\n display: 'block',\n content: '\"\"',\n // subtracting the height of one item, extra margin and borders to make sure the max height is correct\n height: 'calc(100% - 40px - 6px)'\n },\n variants: [{\n props: {\n alreadyRendered: true\n },\n style: {\n '@media (prefers-reduced-motion: no-preference)': {\n scrollBehavior: 'smooth'\n }\n }\n }]\n}));\nconst MultiSectionDigitalClockSectionItem = styled(MenuItem, {\n name: 'MuiMultiSectionDigitalClockSection',\n slot: 'Item',\n overridesResolver: (_, styles) => styles.item\n})(({\n theme\n}) => ({\n padding: 8,\n margin: '2px 4px',\n width: MULTI_SECTION_CLOCK_SECTION_WIDTH,\n justifyContent: 'center',\n '&:first-of-type': {\n marginTop: 4\n },\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity)\n },\n '&.Mui-selected': {\n backgroundColor: (theme.vars || theme).palette.primary.main,\n color: (theme.vars || theme).palette.primary.contrastText,\n '&:focus-visible, &:hover': {\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n },\n '&.Mui-focusVisible': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity)\n }\n}));\n/**\n * @ignore - internal component.\n */\nexport const MultiSectionDigitalClockSection = /*#__PURE__*/React.forwardRef(function MultiSectionDigitalClockSection(inProps, ref) {\n const containerRef = React.useRef(null);\n const handleRef = useForkRef(ref, containerRef);\n const previousActive = React.useRef(null);\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMultiSectionDigitalClockSection'\n });\n const {\n autoFocus,\n onChange,\n className,\n disabled,\n readOnly,\n items,\n active,\n slots,\n slotProps,\n skipDisabled\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = React.useMemo(() => _extends({}, props, {\n alreadyRendered: !!containerRef.current\n }), [props]);\n const classes = useUtilityClasses(ownerState);\n const DigitalClockSectionItem = slots?.digitalClockSectionItem ?? MultiSectionDigitalClockSectionItem;\n React.useEffect(() => {\n if (containerRef.current === null) {\n return;\n }\n const activeItem = containerRef.current.querySelector('[role=\"option\"][tabindex=\"0\"], [role=\"option\"][aria-selected=\"true\"]');\n if (active && autoFocus && activeItem) {\n activeItem.focus();\n }\n if (!activeItem || previousActive.current === activeItem) {\n return;\n }\n previousActive.current = activeItem;\n const offsetTop = activeItem.offsetTop;\n\n // Subtracting the 4px of extra margin intended for the first visible section item\n containerRef.current.scrollTop = offsetTop - 4;\n });\n const focusedOptionIndex = items.findIndex(item => item.isFocused(item.value));\n return /*#__PURE__*/_jsx(MultiSectionDigitalClockSectionRoot, _extends({\n ref: handleRef,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n autoFocusItem: autoFocus && active,\n role: \"listbox\"\n }, other, {\n children: items.map((option, index) => {\n const isItemDisabled = option.isDisabled?.(option.value);\n const isDisabled = disabled || isItemDisabled;\n if (skipDisabled && isDisabled) {\n return null;\n }\n const isSelected = option.isSelected(option.value);\n const tabIndex = focusedOptionIndex === index || focusedOptionIndex === -1 && index === 0 ? 0 : -1;\n return /*#__PURE__*/_jsx(DigitalClockSectionItem, _extends({\n onClick: () => !readOnly && onChange(option.value),\n selected: isSelected,\n disabled: isDisabled,\n disableRipple: readOnly,\n role: \"option\"\n // aria-readonly is not supported here and does not have any effect\n ,\n \"aria-disabled\": readOnly || isDisabled || undefined,\n \"aria-label\": option.ariaLabel,\n \"aria-selected\": isSelected,\n tabIndex: tabIndex,\n className: classes.item\n }, slotProps?.digitalClockSectionItem, {\n children: option.label\n }), option.label);\n })\n }));\n});","export const getHourSectionOptions = ({\n now,\n value,\n utils,\n ampm,\n isDisabled,\n resolveAriaLabel,\n timeStep,\n valueOrReferenceDate\n}) => {\n const currentHours = value ? utils.getHours(value) : null;\n const result = [];\n const isSelected = (hour, overriddenCurrentHours) => {\n const resolvedCurrentHours = overriddenCurrentHours ?? currentHours;\n if (resolvedCurrentHours === null) {\n return false;\n }\n if (ampm) {\n if (hour === 12) {\n return resolvedCurrentHours === 12 || resolvedCurrentHours === 0;\n }\n return resolvedCurrentHours === hour || resolvedCurrentHours - 12 === hour;\n }\n return resolvedCurrentHours === hour;\n };\n const isFocused = hour => {\n return isSelected(hour, utils.getHours(valueOrReferenceDate));\n };\n const endHour = ampm ? 11 : 23;\n for (let hour = 0; hour <= endHour; hour += timeStep) {\n let label = utils.format(utils.setHours(now, hour), ampm ? 'hours12h' : 'hours24h');\n const ariaLabel = resolveAriaLabel(parseInt(label, 10).toString());\n label = utils.formatNumber(label);\n result.push({\n value: hour,\n label,\n isSelected,\n isDisabled,\n isFocused,\n ariaLabel\n });\n }\n return result;\n};\nexport const getTimeSectionOptions = ({\n value,\n utils,\n isDisabled,\n timeStep,\n resolveLabel,\n resolveAriaLabel,\n hasValue = true\n}) => {\n const isSelected = timeValue => {\n if (value === null) {\n return false;\n }\n return hasValue && value === timeValue;\n };\n const isFocused = timeValue => {\n return value === timeValue;\n };\n return [...Array.from({\n length: Math.ceil(60 / timeStep)\n }, (_, index) => {\n const timeValue = timeStep * index;\n return {\n value: timeValue,\n label: utils.formatNumber(resolveLabel(timeValue)),\n isDisabled,\n isSelected,\n isFocused,\n ariaLabel: resolveAriaLabel(timeValue.toString())\n };\n })];\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"ampm\", \"timeSteps\", \"autoFocus\", \"slots\", \"slotProps\", \"value\", \"defaultValue\", \"referenceDate\", \"disableIgnoringDatePartForTimeValidation\", \"maxTime\", \"minTime\", \"disableFuture\", \"disablePast\", \"minutesStep\", \"shouldDisableTime\", \"onChange\", \"view\", \"views\", \"openTo\", \"onViewChange\", \"focusedView\", \"onFocusedViewChange\", \"className\", \"disabled\", \"readOnly\", \"skipDisabled\", \"timezone\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils, useNow } from '../internals/hooks/useUtils';\nimport { convertValueToMeridiem, createIsAfterIgnoreDatePart } from '../internals/utils/time-utils';\nimport { useViews } from '../internals/hooks/useViews';\nimport { useMeridiemMode } from '../internals/hooks/date-helpers-hooks';\nimport { PickerViewRoot } from '../internals/components/PickerViewRoot';\nimport { getMultiSectionDigitalClockUtilityClass } from './multiSectionDigitalClockClasses';\nimport { MultiSectionDigitalClockSection } from './MultiSectionDigitalClockSection';\nimport { getHourSectionOptions, getTimeSectionOptions } from './MultiSectionDigitalClock.utils';\nimport { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { useClockReferenceDate } from '../internals/hooks/useClockReferenceDate';\nimport { formatMeridiem } from '../internals/utils/date-utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getMultiSectionDigitalClockUtilityClass, classes);\n};\nconst MultiSectionDigitalClockRoot = styled(PickerViewRoot, {\n name: 'MuiMultiSectionDigitalClock',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})(({\n theme\n}) => ({\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n}));\n/**\n * Demos:\n *\n * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)\n * - [DigitalClock](https://mui.com/x/react-date-pickers/digital-clock/)\n *\n * API:\n *\n * - [MultiSectionDigitalClock API](https://mui.com/x/api/date-pickers/multi-section-digital-clock/)\n */\nexport const MultiSectionDigitalClock = /*#__PURE__*/React.forwardRef(function MultiSectionDigitalClock(inProps, ref) {\n const utils = useUtils();\n const isRtl = useRtl();\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMultiSectionDigitalClock'\n });\n const {\n ampm = utils.is12HourCycleInCurrentLocale(),\n timeSteps: inTimeSteps,\n autoFocus,\n slots,\n slotProps,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disableIgnoringDatePartForTimeValidation = false,\n maxTime,\n minTime,\n disableFuture,\n disablePast,\n minutesStep = 1,\n shouldDisableTime,\n onChange,\n view: inView,\n views: inViews = ['hours', 'minutes'],\n openTo,\n onViewChange,\n focusedView: inFocusedView,\n onFocusedViewChange,\n className,\n disabled,\n readOnly,\n skipDisabled = false,\n timezone: timezoneProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange: handleRawValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'MultiSectionDigitalClock',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange,\n valueManager: singleItemValueManager\n });\n const translations = usePickersTranslations();\n const now = useNow(timezone);\n const timeSteps = React.useMemo(() => _extends({\n hours: 1,\n minutes: 5,\n seconds: 5\n }, inTimeSteps), [inTimeSteps]);\n const valueOrReferenceDate = useClockReferenceDate({\n value,\n referenceDate: referenceDateProp,\n utils,\n props,\n timezone\n });\n const handleValueChange = useEventCallback((newValue, selectionState, selectedView) => handleRawValueChange(newValue, selectionState, selectedView));\n const views = React.useMemo(() => {\n if (!ampm || !inViews.includes('hours')) {\n return inViews;\n }\n return inViews.includes('meridiem') ? inViews : [...inViews, 'meridiem'];\n }, [ampm, inViews]);\n const {\n view,\n setValueAndGoToNextView,\n focusedView\n } = useViews({\n view: inView,\n views,\n openTo,\n onViewChange,\n onChange: handleValueChange,\n focusedView: inFocusedView,\n onFocusedViewChange\n });\n const handleMeridiemValueChange = useEventCallback(newValue => {\n setValueAndGoToNextView(newValue, 'finish', 'meridiem');\n });\n const {\n meridiemMode,\n handleMeridiemChange\n } = useMeridiemMode(valueOrReferenceDate, ampm, handleMeridiemValueChange, 'finish');\n const isTimeDisabled = React.useCallback((rawValue, viewType) => {\n const isAfter = createIsAfterIgnoreDatePart(disableIgnoringDatePartForTimeValidation, utils);\n const shouldCheckPastEnd = viewType === 'hours' || viewType === 'minutes' && views.includes('seconds');\n const containsValidTime = ({\n start,\n end\n }) => {\n if (minTime && isAfter(minTime, end)) {\n return false;\n }\n if (maxTime && isAfter(start, maxTime)) {\n return false;\n }\n if (disableFuture && isAfter(start, now)) {\n return false;\n }\n if (disablePast && isAfter(now, shouldCheckPastEnd ? end : start)) {\n return false;\n }\n return true;\n };\n const isValidValue = (timeValue, step = 1) => {\n if (timeValue % step !== 0) {\n return false;\n }\n if (shouldDisableTime) {\n switch (viewType) {\n case 'hours':\n return !shouldDisableTime(utils.setHours(valueOrReferenceDate, timeValue), 'hours');\n case 'minutes':\n return !shouldDisableTime(utils.setMinutes(valueOrReferenceDate, timeValue), 'minutes');\n case 'seconds':\n return !shouldDisableTime(utils.setSeconds(valueOrReferenceDate, timeValue), 'seconds');\n default:\n return false;\n }\n }\n return true;\n };\n switch (viewType) {\n case 'hours':\n {\n const valueWithMeridiem = convertValueToMeridiem(rawValue, meridiemMode, ampm);\n const dateWithNewHours = utils.setHours(valueOrReferenceDate, valueWithMeridiem);\n const start = utils.setSeconds(utils.setMinutes(dateWithNewHours, 0), 0);\n const end = utils.setSeconds(utils.setMinutes(dateWithNewHours, 59), 59);\n return !containsValidTime({\n start,\n end\n }) || !isValidValue(valueWithMeridiem);\n }\n case 'minutes':\n {\n const dateWithNewMinutes = utils.setMinutes(valueOrReferenceDate, rawValue);\n const start = utils.setSeconds(dateWithNewMinutes, 0);\n const end = utils.setSeconds(dateWithNewMinutes, 59);\n return !containsValidTime({\n start,\n end\n }) || !isValidValue(rawValue, minutesStep);\n }\n case 'seconds':\n {\n const dateWithNewSeconds = utils.setSeconds(valueOrReferenceDate, rawValue);\n const start = dateWithNewSeconds;\n const end = dateWithNewSeconds;\n return !containsValidTime({\n start,\n end\n }) || !isValidValue(rawValue);\n }\n default:\n throw new Error('not supported');\n }\n }, [ampm, valueOrReferenceDate, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime, utils, disableFuture, disablePast, now, views]);\n const buildViewProps = React.useCallback(viewToBuild => {\n switch (viewToBuild) {\n case 'hours':\n {\n return {\n onChange: hours => {\n const valueWithMeridiem = convertValueToMeridiem(hours, meridiemMode, ampm);\n setValueAndGoToNextView(utils.setHours(valueOrReferenceDate, valueWithMeridiem), 'finish', 'hours');\n },\n items: getHourSectionOptions({\n now,\n value,\n ampm,\n utils,\n isDisabled: hours => isTimeDisabled(hours, 'hours'),\n timeStep: timeSteps.hours,\n resolveAriaLabel: translations.hoursClockNumberText,\n valueOrReferenceDate\n })\n };\n }\n case 'minutes':\n {\n return {\n onChange: minutes => {\n setValueAndGoToNextView(utils.setMinutes(valueOrReferenceDate, minutes), 'finish', 'minutes');\n },\n items: getTimeSectionOptions({\n value: utils.getMinutes(valueOrReferenceDate),\n utils,\n isDisabled: minutes => isTimeDisabled(minutes, 'minutes'),\n resolveLabel: minutes => utils.format(utils.setMinutes(now, minutes), 'minutes'),\n timeStep: timeSteps.minutes,\n hasValue: !!value,\n resolveAriaLabel: translations.minutesClockNumberText\n })\n };\n }\n case 'seconds':\n {\n return {\n onChange: seconds => {\n setValueAndGoToNextView(utils.setSeconds(valueOrReferenceDate, seconds), 'finish', 'seconds');\n },\n items: getTimeSectionOptions({\n value: utils.getSeconds(valueOrReferenceDate),\n utils,\n isDisabled: seconds => isTimeDisabled(seconds, 'seconds'),\n resolveLabel: seconds => utils.format(utils.setSeconds(now, seconds), 'seconds'),\n timeStep: timeSteps.seconds,\n hasValue: !!value,\n resolveAriaLabel: translations.secondsClockNumberText\n })\n };\n }\n case 'meridiem':\n {\n const amLabel = formatMeridiem(utils, 'am');\n const pmLabel = formatMeridiem(utils, 'pm');\n return {\n onChange: handleMeridiemChange,\n items: [{\n value: 'am',\n label: amLabel,\n isSelected: () => !!value && meridiemMode === 'am',\n isFocused: () => !!valueOrReferenceDate && meridiemMode === 'am',\n ariaLabel: amLabel\n }, {\n value: 'pm',\n label: pmLabel,\n isSelected: () => !!value && meridiemMode === 'pm',\n isFocused: () => !!valueOrReferenceDate && meridiemMode === 'pm',\n ariaLabel: pmLabel\n }]\n };\n }\n default:\n throw new Error(`Unknown view: ${viewToBuild} found.`);\n }\n }, [now, value, ampm, utils, timeSteps.hours, timeSteps.minutes, timeSteps.seconds, translations.hoursClockNumberText, translations.minutesClockNumberText, translations.secondsClockNumberText, meridiemMode, setValueAndGoToNextView, valueOrReferenceDate, isTimeDisabled, handleMeridiemChange]);\n const viewsToRender = React.useMemo(() => {\n if (!isRtl) {\n return views;\n }\n const digitViews = views.filter(v => v !== 'meridiem');\n const result = digitViews.toReversed();\n if (views.includes('meridiem')) {\n result.push('meridiem');\n }\n return result;\n }, [isRtl, views]);\n const viewTimeOptions = React.useMemo(() => {\n return views.reduce((result, currentView) => {\n return _extends({}, result, {\n [currentView]: buildViewProps(currentView)\n });\n }, {});\n }, [views, buildViewProps]);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(MultiSectionDigitalClockRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"group\"\n }, other, {\n children: viewsToRender.map(timeView => /*#__PURE__*/_jsx(MultiSectionDigitalClockSection, {\n items: viewTimeOptions[timeView].items,\n onChange: viewTimeOptions[timeView].onChange,\n active: view === timeView,\n autoFocus: autoFocus ?? focusedView === timeView,\n disabled: disabled,\n readOnly: readOnly,\n slots: slots,\n slotProps: slotProps,\n skipDisabled: skipDisabled,\n \"aria-label\": translations.selectViewText(timeView)\n }, timeView))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MultiSectionDigitalClock.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * 12h/24h view for hour selection clock.\n * @default utils.is12HourCycleInCurrentLocale()\n */\n ampm: PropTypes.bool,\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker views and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * Do not ignore date part when validating min/max time.\n * @default false\n */\n disableIgnoringDatePartForTimeValidation: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * Controlled focused view.\n */\n focusedView: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),\n /**\n * Maximal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n maxTime: PropTypes.object,\n /**\n * Minimal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n minTime: PropTypes.object,\n /**\n * Step over minutes.\n * @default 1\n */\n minutesStep: PropTypes.number,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TView The view type. Will be one of date or time views.\n * @param {TValue} value The new value.\n * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.\n * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired on focused view change.\n * @template TView\n * @param {TView} view The new view to focus or not.\n * @param {boolean} hasFocus `true` if the view should be focused.\n */\n onFocusedViewChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),\n /**\n * If `true`, the picker views and text field are read-only.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.\n */\n referenceDate: PropTypes.object,\n /**\n * Disable specific time.\n * @template TDate\n * @param {TDate} value The value to check.\n * @param {TimeView} view The clock type of the timeValue.\n * @returns {boolean} If `true` the time will be disabled.\n */\n shouldDisableTime: PropTypes.func,\n /**\n * If `true`, disabled digital clock items will not be rendered.\n * @default false\n */\n skipDisabled: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overrideable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The time steps between two time unit options.\n * For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.\n * @default{ hours: 1, minutes: 5, seconds: 5 }\n */\n timeSteps: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number\n }),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),\n /**\n * Available views.\n * @default ['hours', 'minutes']\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired)\n} : void 0;","import * as React from 'react';\nimport { TimeClock } from '../TimeClock';\nimport { DigitalClock } from '../DigitalClock';\nimport { MultiSectionDigitalClock } from '../MultiSectionDigitalClock';\nimport { isTimeView } from '../internals/utils/time-utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const renderTimeViewClock = ({\n view,\n onViewChange,\n focusedView,\n onFocusedViewChange,\n views,\n value,\n defaultValue,\n referenceDate,\n onChange,\n className,\n classes,\n disableFuture,\n disablePast,\n minTime,\n maxTime,\n shouldDisableTime,\n minutesStep,\n ampm,\n ampmInClock,\n slots,\n slotProps,\n readOnly,\n disabled,\n sx,\n autoFocus,\n showViewSwitcher,\n disableIgnoringDatePartForTimeValidation,\n timezone\n}) => /*#__PURE__*/_jsx(TimeClock, {\n view: view,\n onViewChange: onViewChange,\n focusedView: focusedView && isTimeView(focusedView) ? focusedView : null,\n onFocusedViewChange: onFocusedViewChange,\n views: views.filter(isTimeView),\n value: value,\n defaultValue: defaultValue,\n referenceDate: referenceDate,\n onChange: onChange,\n className: className,\n classes: classes,\n disableFuture: disableFuture,\n disablePast: disablePast,\n minTime: minTime,\n maxTime: maxTime,\n shouldDisableTime: shouldDisableTime,\n minutesStep: minutesStep,\n ampm: ampm,\n ampmInClock: ampmInClock,\n slots: slots,\n slotProps: slotProps,\n readOnly: readOnly,\n disabled: disabled,\n sx: sx,\n autoFocus: autoFocus,\n showViewSwitcher: showViewSwitcher,\n disableIgnoringDatePartForTimeValidation: disableIgnoringDatePartForTimeValidation,\n timezone: timezone\n});\nexport const renderDigitalClockTimeView = ({\n view,\n onViewChange,\n focusedView,\n onFocusedViewChange,\n views,\n value,\n defaultValue,\n referenceDate,\n onChange,\n className,\n classes,\n disableFuture,\n disablePast,\n minTime,\n maxTime,\n shouldDisableTime,\n minutesStep,\n ampm,\n slots,\n slotProps,\n readOnly,\n disabled,\n sx,\n autoFocus,\n disableIgnoringDatePartForTimeValidation,\n timeSteps,\n skipDisabled,\n timezone\n}) => /*#__PURE__*/_jsx(DigitalClock, {\n view: view,\n onViewChange: onViewChange,\n focusedView: focusedView,\n onFocusedViewChange: onFocusedViewChange,\n views: views.filter(isTimeView),\n value: value,\n defaultValue: defaultValue,\n referenceDate: referenceDate,\n onChange: onChange,\n className: className,\n classes: classes,\n disableFuture: disableFuture,\n disablePast: disablePast,\n minTime: minTime,\n maxTime: maxTime,\n shouldDisableTime: shouldDisableTime,\n minutesStep: minutesStep,\n ampm: ampm,\n slots: slots,\n slotProps: slotProps,\n readOnly: readOnly,\n disabled: disabled,\n sx: sx,\n autoFocus: autoFocus,\n disableIgnoringDatePartForTimeValidation: disableIgnoringDatePartForTimeValidation,\n timeStep: timeSteps?.minutes,\n skipDisabled: skipDisabled,\n timezone: timezone\n});\nexport const renderMultiSectionDigitalClockTimeView = ({\n view,\n onViewChange,\n focusedView,\n onFocusedViewChange,\n views,\n value,\n defaultValue,\n referenceDate,\n onChange,\n className,\n classes,\n disableFuture,\n disablePast,\n minTime,\n maxTime,\n shouldDisableTime,\n minutesStep,\n ampm,\n slots,\n slotProps,\n readOnly,\n disabled,\n sx,\n autoFocus,\n disableIgnoringDatePartForTimeValidation,\n timeSteps,\n skipDisabled,\n timezone\n}) => /*#__PURE__*/_jsx(MultiSectionDigitalClock, {\n view: view,\n onViewChange: onViewChange,\n focusedView: focusedView,\n onFocusedViewChange: onFocusedViewChange,\n views: views.filter(isTimeView),\n value: value,\n defaultValue: defaultValue,\n referenceDate: referenceDate,\n onChange: onChange,\n className: className,\n classes: classes,\n disableFuture: disableFuture,\n disablePast: disablePast,\n minTime: minTime,\n maxTime: maxTime,\n shouldDisableTime: shouldDisableTime,\n minutesStep: minutesStep,\n ampm: ampm,\n slots: slots,\n slotProps: slotProps,\n readOnly: readOnly,\n disabled: disabled,\n sx: sx,\n autoFocus: autoFocus,\n disableIgnoringDatePartForTimeValidation: disableIgnoringDatePartForTimeValidation,\n timeSteps: timeSteps,\n skipDisabled: skipDisabled,\n timezone: timezone\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"views\", \"format\"];\nimport { resolveTimeFormat, isTimeView, isInternalTimeView } from './time-utils';\nimport { resolveDateFormat } from './date-utils';\nexport const resolveDateTimeFormat = (utils, _ref) => {\n let {\n views,\n format\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (format) {\n return format;\n }\n const dateViews = [];\n const timeViews = [];\n views.forEach(view => {\n if (isTimeView(view)) {\n timeViews.push(view);\n } else {\n dateViews.push(view);\n }\n });\n if (timeViews.length === 0) {\n return resolveDateFormat(utils, _extends({\n views: dateViews\n }, other), false);\n }\n if (dateViews.length === 0) {\n return resolveTimeFormat(utils, _extends({\n views: timeViews\n }, other));\n }\n const timeFormat = resolveTimeFormat(utils, _extends({\n views: timeViews\n }, other));\n const dateFormat = resolveDateFormat(utils, _extends({\n views: dateViews\n }, other), false);\n return `${dateFormat} ${timeFormat}`;\n};\nconst resolveViews = (ampm, views, shouldUseSingleColumn) => {\n if (shouldUseSingleColumn) {\n return views.filter(view => !isInternalTimeView(view) || view === 'hours');\n }\n return ampm ? [...views, 'meridiem'] : views;\n};\nconst resolveShouldRenderTimeInASingleColumn = (timeSteps, threshold) => 24 * 60 / ((timeSteps.hours ?? 1) * (timeSteps.minutes ?? 5)) <= threshold;\nexport function resolveTimeViewsResponse({\n thresholdToRenderTimeInASingleColumn: inThreshold,\n ampm,\n timeSteps: inTimeSteps,\n views\n}) {\n const thresholdToRenderTimeInASingleColumn = inThreshold ?? 24;\n const timeSteps = _extends({\n hours: 1,\n minutes: 5,\n seconds: 5\n }, inTimeSteps);\n const shouldRenderTimeInASingleColumn = resolveShouldRenderTimeInASingleColumn(timeSteps, thresholdToRenderTimeInASingleColumn);\n return {\n thresholdToRenderTimeInASingleColumn,\n timeSteps,\n shouldRenderTimeInASingleColumn,\n views: resolveViews(ampm, views, shouldRenderTimeInASingleColumn)\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveComponentProps from '@mui/utils/resolveComponentProps';\nimport { refType } from '@mui/utils';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { TimeField } from '../TimeField';\nimport { useTimePickerDefaultizedProps } from '../TimePicker/shared';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { validateTime } from '../internals/utils/validation/validateTime';\nimport { ClockIcon } from '../icons';\nimport { useDesktopPicker } from '../internals/hooks/useDesktopPicker';\nimport { extractValidationProps } from '../internals/utils/validation/extractValidationProps';\nimport { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '../timeViewRenderers';\nimport { resolveTimeFormat } from '../internals/utils/time-utils';\nimport { resolveTimeViewsResponse } from '../internals/utils/date-time-utils';\n/**\n * Demos:\n *\n * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [DesktopTimePicker API](https://mui.com/x/api/date-pickers/desktop-time-picker/)\n */\nconst DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {\n const translations = usePickersTranslations();\n const utils = useUtils();\n\n // Props with the default values common to all time pickers\n const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiDesktopTimePicker');\n const {\n shouldRenderTimeInASingleColumn,\n views: resolvedViews,\n timeSteps\n } = resolveTimeViewsResponse(defaultizedProps);\n const renderTimeView = shouldRenderTimeInASingleColumn ? renderDigitalClockTimeView : renderMultiSectionDigitalClockTimeView;\n const viewRenderers = _extends({\n hours: renderTimeView,\n minutes: renderTimeView,\n seconds: renderTimeView,\n meridiem: renderTimeView\n }, defaultizedProps.viewRenderers);\n const ampmInClock = defaultizedProps.ampmInClock ?? true;\n const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];\n // Need to avoid adding the `meridiem` view when unexpected renderer is specified\n const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === renderMultiSectionDigitalClockTimeView.name;\n const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;\n\n // Props with the default values specific to the desktop variant\n const props = _extends({}, defaultizedProps, {\n ampmInClock,\n timeSteps,\n viewRenderers,\n format: resolveTimeFormat(utils, defaultizedProps),\n // Setting only `hours` time view in case of single column time picker\n // Allows for easy view lifecycle management\n views: shouldRenderTimeInASingleColumn ? ['hours'] : views,\n slots: _extends({\n field: TimeField,\n openPickerIcon: ClockIcon\n }, defaultizedProps.slots),\n slotProps: _extends({}, defaultizedProps.slotProps, {\n field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {\n ref\n }),\n toolbar: _extends({\n hidden: true,\n ampmInClock\n }, defaultizedProps.slotProps?.toolbar),\n actionBar: _extends({\n actions: actionBarActions\n }, defaultizedProps.slotProps?.actionBar)\n })\n });\n const {\n renderPicker\n } = useDesktopPicker({\n props,\n valueManager: singleItemValueManager,\n valueType: 'time',\n getOpenDialogAriaText: props.localeText?.openTimePickerDialogue ?? translations.openTimePickerDialogue,\n validator: validateTime\n });\n return renderPicker();\n});\nDesktopTimePicker.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * 12h/24h view for hour selection clock.\n * @default utils.is12HourCycleInCurrentLocale()\n */\n ampm: PropTypes.bool,\n /**\n * Display ampm controls under the clock (instead of in the toolbar).\n * @default true on desktop, false on mobile\n */\n ampmInClock: PropTypes.bool,\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * If `true`, the popover or modal will close after submitting the full date.\n * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).\n */\n closeOnSelect: PropTypes.bool,\n /**\n * The default value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * Do not ignore date part when validating min/max time.\n * @default false\n */\n disableIgnoringDatePartForTimeValidation: PropTypes.bool,\n /**\n * If `true`, the open picker button will not be rendered (renders only the field).\n * @default false\n */\n disableOpenPicker: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * @default false\n */\n enableAccessibleFieldDOMStructure: PropTypes.any,\n /**\n * Format of the date when rendered in the input(s).\n * Defaults to localized format based on the used `views`.\n */\n format: PropTypes.string,\n /**\n * Density of the format when rendered in the input.\n * Setting `formatDensity` to `\"spacious\"` will add a space before and after each `/`, `-` and `.` character.\n * @default \"dense\"\n */\n formatDensity: PropTypes.oneOf(['dense', 'spacious']),\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * Locale for components texts.\n * Allows overriding texts coming from `LocalizationProvider` and `theme`.\n */\n localeText: PropTypes.object,\n /**\n * Maximal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n maxTime: PropTypes.object,\n /**\n * Minimal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n minTime: PropTypes.object,\n /**\n * Step over minutes.\n * @default 1\n */\n minutesStep: PropTypes.number,\n /**\n * Name attribute used by the `input` element in the Field.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is accepted.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The value that was just accepted.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onAccept: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see `open`).\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the error associated to the current value changes.\n * If the error has a non-null value, then the `TextField` will be rendered in `error` state.\n *\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TError} error The new error describing why the current value is not valid.\n * @param {TValue} value The value associated to the error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see `open`).\n */\n onOpen: PropTypes.func,\n /**\n * Callback fired when the selected sections change.\n * @param {FieldSelectedSections} newValue The new selected sections.\n */\n onSelectedSectionsChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Control the popup or dialog open state.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.\n */\n referenceDate: PropTypes.object,\n /**\n * The currently selected sections.\n * This prop accepts four formats:\n * 1. If a number is provided, the section at this index will be selected.\n * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.\n * 3. If `\"all\"` is provided, all the sections will be selected.\n * 4. If `null` is provided, no section will be selected.\n * If not provided, the selected sections will be handled internally.\n */\n selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),\n /**\n * Disable specific time.\n * @template TDate\n * @param {TDate} value The value to check.\n * @param {TimeView} view The clock type of the timeValue.\n * @returns {boolean} If `true` the time will be disabled.\n */\n shouldDisableTime: PropTypes.func,\n /**\n * If `true`, disabled digital clock items will not be rendered.\n * @default false\n */\n skipDisabled: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Amount of time options below or at which the single column time renderer is used.\n * @default 24\n */\n thresholdToRenderTimeInASingleColumn: PropTypes.number,\n /**\n * The time steps between two time unit options.\n * For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.\n * When single column time renderer is used, only `timeStep.minutes` will be used.\n * @default{ hours: 1, minutes: 5, seconds: 5 }\n */\n timeSteps: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number\n }),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),\n /**\n * Define custom view renderers for each section.\n * If `null`, the section will only have field editing.\n * If `undefined`, internally defined view will be used.\n */\n viewRenderers: PropTypes.shape({\n hours: PropTypes.func,\n meridiem: PropTypes.func,\n minutes: PropTypes.func,\n seconds: PropTypes.func\n }),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired)\n};\nexport { DesktopTimePicker };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveComponentProps from '@mui/utils/resolveComponentProps';\nimport { refType } from '@mui/utils';\nimport { singleItemValueManager } from '../internals/utils/valueManagers';\nimport { TimeField } from '../TimeField';\nimport { useTimePickerDefaultizedProps } from '../TimePicker/shared';\nimport { usePickersTranslations } from '../hooks/usePickersTranslations';\nimport { useUtils } from '../internals/hooks/useUtils';\nimport { validateTime } from '../internals/utils/validation/validateTime';\nimport { useMobilePicker } from '../internals/hooks/useMobilePicker';\nimport { extractValidationProps } from '../internals/utils/validation/extractValidationProps';\nimport { renderTimeViewClock } from '../timeViewRenderers';\nimport { resolveTimeFormat } from '../internals/utils/time-utils';\n/**\n * Demos:\n *\n * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [MobileTimePicker API](https://mui.com/x/api/date-pickers/mobile-time-picker/)\n */\nconst MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {\n const translations = usePickersTranslations();\n const utils = useUtils();\n\n // Props with the default values common to all time pickers\n const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiMobileTimePicker');\n const viewRenderers = _extends({\n hours: renderTimeViewClock,\n minutes: renderTimeViewClock,\n seconds: renderTimeViewClock\n }, defaultizedProps.viewRenderers);\n const ampmInClock = defaultizedProps.ampmInClock ?? false;\n\n // Props with the default values specific to the mobile variant\n const props = _extends({}, defaultizedProps, {\n ampmInClock,\n viewRenderers,\n format: resolveTimeFormat(utils, defaultizedProps),\n slots: _extends({\n field: TimeField\n }, defaultizedProps.slots),\n slotProps: _extends({}, defaultizedProps.slotProps, {\n field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {\n ref\n }),\n toolbar: _extends({\n hidden: false,\n ampmInClock\n }, defaultizedProps.slotProps?.toolbar)\n })\n });\n const {\n renderPicker\n } = useMobilePicker({\n props,\n valueManager: singleItemValueManager,\n valueType: 'time',\n getOpenDialogAriaText: props.localeText?.openTimePickerDialogue ?? translations.openTimePickerDialogue,\n validator: validateTime\n });\n return renderPicker();\n});\nMobileTimePicker.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * 12h/24h view for hour selection clock.\n * @default utils.is12HourCycleInCurrentLocale()\n */\n ampm: PropTypes.bool,\n /**\n * Display ampm controls under the clock (instead of in the toolbar).\n * @default true on desktop, false on mobile\n */\n ampmInClock: PropTypes.bool,\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * If `true`, the popover or modal will close after submitting the full date.\n * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).\n */\n closeOnSelect: PropTypes.bool,\n /**\n * The default value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * Do not ignore date part when validating min/max time.\n * @default false\n */\n disableIgnoringDatePartForTimeValidation: PropTypes.bool,\n /**\n * If `true`, the open picker button will not be rendered (renders only the field).\n * @default false\n */\n disableOpenPicker: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * @default false\n */\n enableAccessibleFieldDOMStructure: PropTypes.any,\n /**\n * Format of the date when rendered in the input(s).\n * Defaults to localized format based on the used `views`.\n */\n format: PropTypes.string,\n /**\n * Density of the format when rendered in the input.\n * Setting `formatDensity` to `\"spacious\"` will add a space before and after each `/`, `-` and `.` character.\n * @default \"dense\"\n */\n formatDensity: PropTypes.oneOf(['dense', 'spacious']),\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * Locale for components texts.\n * Allows overriding texts coming from `LocalizationProvider` and `theme`.\n */\n localeText: PropTypes.object,\n /**\n * Maximal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n maxTime: PropTypes.object,\n /**\n * Minimal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n minTime: PropTypes.object,\n /**\n * Step over minutes.\n * @default 1\n */\n minutesStep: PropTypes.number,\n /**\n * Name attribute used by the `input` element in the Field.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is accepted.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The value that was just accepted.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onAccept: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see `open`).\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the error associated to the current value changes.\n * If the error has a non-null value, then the `TextField` will be rendered in `error` state.\n *\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TError} error The new error describing why the current value is not valid.\n * @param {TValue} value The value associated to the error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see `open`).\n */\n onOpen: PropTypes.func,\n /**\n * Callback fired when the selected sections change.\n * @param {FieldSelectedSections} newValue The new selected sections.\n */\n onSelectedSectionsChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Control the popup or dialog open state.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.\n */\n referenceDate: PropTypes.object,\n /**\n * The currently selected sections.\n * This prop accepts four formats:\n * 1. If a number is provided, the section at this index will be selected.\n * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.\n * 3. If `\"all\"` is provided, all the sections will be selected.\n * 4. If `null` is provided, no section will be selected.\n * If not provided, the selected sections will be handled internally.\n */\n selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),\n /**\n * Disable specific time.\n * @template TDate\n * @param {TDate} value The value to check.\n * @param {TimeView} view The clock type of the timeValue.\n * @returns {boolean} If `true` the time will be disabled.\n */\n shouldDisableTime: PropTypes.func,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['hours', 'minutes', 'seconds']),\n /**\n * Define custom view renderers for each section.\n * If `null`, the section will only have field editing.\n * If `undefined`, internally defined view will be used.\n */\n viewRenderers: PropTypes.shape({\n hours: PropTypes.func,\n minutes: PropTypes.func,\n seconds: PropTypes.func\n }),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired)\n};\nexport { MobileTimePicker };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"desktopModeMediaQuery\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { useThemeProps } from '@mui/material/styles';\nimport { refType } from '@mui/utils';\nimport { DesktopTimePicker } from '../DesktopTimePicker';\nimport { MobileTimePicker } from '../MobileTimePicker';\nimport { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from '../internals/utils/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Demos:\n *\n * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [TimePicker API](https://mui.com/x/api/date-pickers/time-picker/)\n */\nconst TimePicker = /*#__PURE__*/React.forwardRef(function TimePicker(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTimePicker'\n });\n const {\n desktopModeMediaQuery = DEFAULT_DESKTOP_MODE_MEDIA_QUERY\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n // defaults to `true` in environments where `window.matchMedia` would not be available (i.e. test/jsdom)\n const isDesktop = useMediaQuery(desktopModeMediaQuery, {\n defaultMatches: true\n });\n if (isDesktop) {\n return /*#__PURE__*/_jsx(DesktopTimePicker, _extends({\n ref: ref\n }, other));\n }\n return /*#__PURE__*/_jsx(MobileTimePicker, _extends({\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TimePicker.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * 12h/24h view for hour selection clock.\n * @default utils.is12HourCycleInCurrentLocale()\n */\n ampm: PropTypes.bool,\n /**\n * Display ampm controls under the clock (instead of in the toolbar).\n * @default true on desktop, false on mobile\n */\n ampmInClock: PropTypes.bool,\n /**\n * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * If `true`, the popover or modal will close after submitting the full date.\n * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).\n */\n closeOnSelect: PropTypes.bool,\n /**\n * The default value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * CSS media query when `Mobile` mode will be changed to `Desktop`.\n * @default '@media (pointer: fine)'\n * @example '@media (min-width: 720px)' or theme.breakpoints.up(\"sm\")\n */\n desktopModeMediaQuery: PropTypes.string,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * Do not ignore date part when validating min/max time.\n * @default false\n */\n disableIgnoringDatePartForTimeValidation: PropTypes.bool,\n /**\n * If `true`, the open picker button will not be rendered (renders only the field).\n * @default false\n */\n disableOpenPicker: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * @default false\n */\n enableAccessibleFieldDOMStructure: PropTypes.any,\n /**\n * Format of the date when rendered in the input(s).\n * Defaults to localized format based on the used `views`.\n */\n format: PropTypes.string,\n /**\n * Density of the format when rendered in the input.\n * Setting `formatDensity` to `\"spacious\"` will add a space before and after each `/`, `-` and `.` character.\n * @default \"dense\"\n */\n formatDensity: PropTypes.oneOf(['dense', 'spacious']),\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * Locale for components texts.\n * Allows overriding texts coming from `LocalizationProvider` and `theme`.\n */\n localeText: PropTypes.object,\n /**\n * Maximal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n maxTime: PropTypes.object,\n /**\n * Minimal selectable time.\n * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.\n */\n minTime: PropTypes.object,\n /**\n * Step over minutes.\n * @default 1\n */\n minutesStep: PropTypes.number,\n /**\n * Name attribute used by the `input` element in the Field.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is accepted.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The value that was just accepted.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onAccept: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see `open`).\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the error associated to the current value changes.\n * If the error has a non-null value, then the `TextField` will be rendered in `error` state.\n *\n * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.\n * @param {TError} error The new error describing why the current value is not valid.\n * @param {TValue} value The value associated to the error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see `open`).\n */\n onOpen: PropTypes.func,\n /**\n * Callback fired when the selected sections change.\n * @param {FieldSelectedSections} newValue The new selected sections.\n */\n onSelectedSectionsChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Control the popup or dialog open state.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.\n */\n referenceDate: PropTypes.object,\n /**\n * The currently selected sections.\n * This prop accepts four formats:\n * 1. If a number is provided, the section at this index will be selected.\n * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.\n * 3. If `\"all\"` is provided, all the sections will be selected.\n * 4. If `null` is provided, no section will be selected.\n * If not provided, the selected sections will be handled internally.\n */\n selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),\n /**\n * Disable specific time.\n * @template TDate\n * @param {TDate} value The value to check.\n * @param {TimeView} view The clock type of the timeValue.\n * @returns {boolean} If `true` the time will be disabled.\n */\n shouldDisableTime: PropTypes.func,\n /**\n * If `true`, disabled digital clock items will not be rendered.\n * @default false\n */\n skipDisabled: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Amount of time options below or at which the single column time renderer is used.\n * @default 24\n */\n thresholdToRenderTimeInASingleColumn: PropTypes.number,\n /**\n * The time steps between two time unit options.\n * For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.\n * When single column time renderer is used, only `timeStep.minutes` will be used.\n * @default{ hours: 1, minutes: 5, seconds: 5 }\n */\n timeSteps: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number\n }),\n /**\n * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),\n /**\n * Define custom view renderers for each section.\n * If `null`, the section will only have field editing.\n * If `undefined`, internally defined view will be used.\n */\n viewRenderers: PropTypes.shape({\n hours: PropTypes.func,\n meridiem: PropTypes.func,\n minutes: PropTypes.func,\n seconds: PropTypes.func\n }),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired)\n} : void 0;\nexport { TimePicker };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"clearable\", \"onClear\", \"InputProps\", \"sx\", \"slots\", \"slotProps\"],\n _excluded2 = [\"ownerState\"];\nimport * as React from 'react';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport MuiIconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport { ClearIcon } from '../icons';\nimport { usePickersTranslations } from './usePickersTranslations';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const useClearableField = props => {\n const translations = usePickersTranslations();\n const {\n clearable,\n onClear,\n InputProps,\n sx,\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const IconButton = slots?.clearButton ?? MuiIconButton;\n // The spread is here to avoid this bug mui/material-ui#34056\n const _useSlotProps = useSlotProps({\n elementType: IconButton,\n externalSlotProps: slotProps?.clearButton,\n ownerState: {},\n className: 'clearButton',\n additionalProps: {\n title: translations.fieldClearLabel\n }\n }),\n iconButtonProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);\n const EndClearIcon = slots?.clearIcon ?? ClearIcon;\n const endClearIconProps = useSlotProps({\n elementType: EndClearIcon,\n externalSlotProps: slotProps?.clearIcon,\n ownerState: {}\n });\n return _extends({}, other, {\n InputProps: _extends({}, InputProps, {\n endAdornment: /*#__PURE__*/_jsxs(React.Fragment, {\n children: [clearable && /*#__PURE__*/_jsx(InputAdornment, {\n position: \"end\",\n sx: {\n marginRight: InputProps?.endAdornment ? -1 : -1.5\n },\n children: /*#__PURE__*/_jsx(IconButton, _extends({}, iconButtonProps, {\n onClick: onClear,\n children: /*#__PURE__*/_jsx(EndClearIcon, _extends({\n fontSize: \"small\"\n }, endClearIconProps))\n }))\n }), InputProps?.endAdornment]\n })\n }),\n sx: [{\n '& .clearButton': {\n opacity: 1\n },\n '@media (pointer: fine)': {\n '& .clearButton': {\n opacity: 0\n },\n '&:hover, &:focus-within': {\n '.clearButton': {\n opacity: 1\n }\n }\n }\n }, ...(Array.isArray(sx) ? sx : [sx])]\n });\n};","import { useLocalizationContext } from '../internals/hooks/useUtils';\nexport const usePickersTranslations = () => useLocalizationContext().localeText;","import { createSvgIcon } from '@mui/material/utils';\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const ArrowDropDownIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n}), 'ArrowDropDown');\n\n/**\n * @ignore - internal component.\n */\nexport const ArrowLeftIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z\"\n}), 'ArrowLeft');\n\n/**\n * @ignore - internal component.\n */\nexport const ArrowRightIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z\"\n}), 'ArrowRight');\n\n/**\n * @ignore - internal component.\n */\nexport const CalendarIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z\"\n}), 'Calendar');\n\n/**\n * @ignore - internal component.\n */\nexport const ClockIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n })]\n}), 'Clock');\n\n/**\n * @ignore - internal component.\n */\nexport const DateRangeIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z\"\n}), 'DateRange');\n\n/**\n * @ignore - internal component.\n */\nexport const TimeIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n })]\n}), 'Time');\n\n/**\n * @ignore - internal component.\n */\nexport const ClearIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Clear');","import { styled } from '@mui/material/styles';\nimport { DIALOG_WIDTH, VIEW_HEIGHT } from '../../constants/dimensions';\nexport const PickerViewRoot = styled('div')({\n overflow: 'hidden',\n width: DIALOG_WIDTH,\n maxHeight: VIEW_HEIGHT,\n display: 'flex',\n flexDirection: 'column',\n margin: '0 auto'\n});","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersArrowSwitcherUtilityClass(slot) {\n return generateUtilityClass('MuiPickersArrowSwitcher', slot);\n}\nexport const pickersArrowSwitcherClasses = generateUtilityClasses('MuiPickersArrowSwitcher', ['root', 'spacer', 'button', 'previousIconButton', 'nextIconButton', 'leftArrowIcon', 'rightArrowIcon']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"slots\", \"slotProps\", \"isNextDisabled\", \"isNextHidden\", \"onGoToNext\", \"nextLabel\", \"isPreviousDisabled\", \"isPreviousHidden\", \"onGoToPrevious\", \"previousLabel\", \"labelId\"],\n _excluded2 = [\"ownerState\"],\n _excluded3 = [\"ownerState\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport Typography from '@mui/material/Typography';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport IconButton from '@mui/material/IconButton';\nimport { ArrowLeftIcon, ArrowRightIcon } from '../../../icons';\nimport { getPickersArrowSwitcherUtilityClass } from './pickersArrowSwitcherClasses';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst PickersArrowSwitcherRoot = styled('div', {\n name: 'MuiPickersArrowSwitcher',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex'\n});\nconst PickersArrowSwitcherSpacer = styled('div', {\n name: 'MuiPickersArrowSwitcher',\n slot: 'Spacer',\n overridesResolver: (props, styles) => styles.spacer\n})(({\n theme\n}) => ({\n width: theme.spacing(3)\n}));\nconst PickersArrowSwitcherButton = styled(IconButton, {\n name: 'MuiPickersArrowSwitcher',\n slot: 'Button',\n overridesResolver: (props, styles) => styles.button\n})({\n variants: [{\n props: {\n hidden: true\n },\n style: {\n visibility: 'hidden'\n }\n }]\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n spacer: ['spacer'],\n button: ['button'],\n previousIconButton: ['previousIconButton'],\n nextIconButton: ['nextIconButton'],\n leftArrowIcon: ['leftArrowIcon'],\n rightArrowIcon: ['rightArrowIcon']\n };\n return composeClasses(slots, getPickersArrowSwitcherUtilityClass, classes);\n};\nexport const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function PickersArrowSwitcher(inProps, ref) {\n const isRtl = useRtl();\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersArrowSwitcher'\n });\n const {\n children,\n className,\n slots,\n slotProps,\n isNextDisabled,\n isNextHidden,\n onGoToNext,\n nextLabel,\n isPreviousDisabled,\n isPreviousHidden,\n onGoToPrevious,\n previousLabel,\n labelId\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const nextProps = {\n isDisabled: isNextDisabled,\n isHidden: isNextHidden,\n goTo: onGoToNext,\n label: nextLabel\n };\n const previousProps = {\n isDisabled: isPreviousDisabled,\n isHidden: isPreviousHidden,\n goTo: onGoToPrevious,\n label: previousLabel\n };\n const PreviousIconButton = slots?.previousIconButton ?? PickersArrowSwitcherButton;\n const previousIconButtonProps = useSlotProps({\n elementType: PreviousIconButton,\n externalSlotProps: slotProps?.previousIconButton,\n additionalProps: {\n size: 'medium',\n title: previousProps.label,\n 'aria-label': previousProps.label,\n disabled: previousProps.isDisabled,\n edge: 'end',\n onClick: previousProps.goTo\n },\n ownerState: _extends({}, ownerState, {\n hidden: previousProps.isHidden\n }),\n className: clsx(classes.button, classes.previousIconButton)\n });\n const NextIconButton = slots?.nextIconButton ?? PickersArrowSwitcherButton;\n const nextIconButtonProps = useSlotProps({\n elementType: NextIconButton,\n externalSlotProps: slotProps?.nextIconButton,\n additionalProps: {\n size: 'medium',\n title: nextProps.label,\n 'aria-label': nextProps.label,\n disabled: nextProps.isDisabled,\n edge: 'start',\n onClick: nextProps.goTo\n },\n ownerState: _extends({}, ownerState, {\n hidden: nextProps.isHidden\n }),\n className: clsx(classes.button, classes.nextIconButton)\n });\n const LeftArrowIcon = slots?.leftArrowIcon ?? ArrowLeftIcon;\n // The spread is here to avoid this bug mui/material-ui#34056\n const _useSlotProps = useSlotProps({\n elementType: LeftArrowIcon,\n externalSlotProps: slotProps?.leftArrowIcon,\n additionalProps: {\n fontSize: 'inherit'\n },\n ownerState,\n className: classes.leftArrowIcon\n }),\n leftArrowIconProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);\n const RightArrowIcon = slots?.rightArrowIcon ?? ArrowRightIcon;\n // The spread is here to avoid this bug mui/material-ui#34056\n const _useSlotProps2 = useSlotProps({\n elementType: RightArrowIcon,\n externalSlotProps: slotProps?.rightArrowIcon,\n additionalProps: {\n fontSize: 'inherit'\n },\n ownerState,\n className: classes.rightArrowIcon\n }),\n rightArrowIconProps = _objectWithoutPropertiesLoose(_useSlotProps2, _excluded3);\n return /*#__PURE__*/_jsxs(PickersArrowSwitcherRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(PreviousIconButton, _extends({}, previousIconButtonProps, {\n children: isRtl ? /*#__PURE__*/_jsx(RightArrowIcon, _extends({}, rightArrowIconProps)) : /*#__PURE__*/_jsx(LeftArrowIcon, _extends({}, leftArrowIconProps))\n })), children ? /*#__PURE__*/_jsx(Typography, {\n variant: \"subtitle1\",\n component: \"span\",\n id: labelId,\n children: children\n }) : /*#__PURE__*/_jsx(PickersArrowSwitcherSpacer, {\n className: classes.spacer,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(NextIconButton, _extends({}, nextIconButtonProps, {\n children: isRtl ? /*#__PURE__*/_jsx(LeftArrowIcon, _extends({}, leftArrowIconProps)) : /*#__PURE__*/_jsx(RightArrowIcon, _extends({}, rightArrowIconProps))\n }))]\n }));\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"toolbarTitle\", \"hidden\", \"titleId\", \"isLandscape\", \"classes\", \"landscapeDirection\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport Typography from '@mui/material/Typography';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { getPickersToolbarUtilityClass } from './pickersToolbarClasses';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n isLandscape\n } = ownerState;\n const slots = {\n root: ['root'],\n content: ['content'],\n penIconButton: ['penIconButton', isLandscape && 'penIconButtonLandscape']\n };\n return composeClasses(slots, getPickersToolbarUtilityClass, classes);\n};\nconst PickersToolbarRoot = styled('div', {\n name: 'MuiPickersToolbar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n padding: theme.spacing(2, 3),\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n height: 'auto',\n maxWidth: 160,\n padding: 16,\n justifyContent: 'flex-start',\n flexWrap: 'wrap'\n }\n }]\n}));\nconst PickersToolbarContent = styled('div', {\n name: 'MuiPickersToolbar',\n slot: 'Content',\n overridesResolver: (props, styles) => styles.content\n})({\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row',\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n flexDirection: 'column'\n }\n }, {\n props: {\n isLandscape: true,\n landscapeDirection: 'row'\n },\n style: {\n flexDirection: 'row'\n }\n }]\n});\nexport const PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersToolbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersToolbar'\n });\n const {\n children,\n className,\n toolbarTitle,\n hidden,\n titleId\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n if (hidden) {\n return null;\n }\n return /*#__PURE__*/_jsxs(PickersToolbarRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n variant: \"overline\",\n id: titleId,\n children: toolbarTitle\n }), /*#__PURE__*/_jsx(PickersToolbarContent, {\n className: classes.content,\n ownerState: ownerState,\n children: children\n })]\n }));\n});","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiPickersToolbar', slot);\n}\nexport const pickersToolbarClasses = generateUtilityClasses('MuiPickersToolbar', ['root', 'content']);","export const DAY_SIZE = 36;\nexport const DAY_MARGIN = 2;\nexport const DIALOG_WIDTH = 320;\nexport const MAX_CALENDAR_HEIGHT = 280;\nexport const VIEW_HEIGHT = 336;\nexport const DIGITAL_CLOCK_VIEW_HEIGHT = 232;\nexport const MULTI_SECTION_CLOCK_SECTION_WIDTH = 48;","import * as React from 'react';\nimport { useUtils } from './useUtils';\nimport { getMeridiem, convertToMeridiem } from '../utils/time-utils';\nexport function useNextMonthDisabled(month, {\n disableFuture,\n maxDate,\n timezone\n}) {\n const utils = useUtils();\n return React.useMemo(() => {\n const now = utils.date(undefined, timezone);\n const lastEnabledMonth = utils.startOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate);\n return !utils.isAfter(lastEnabledMonth, month);\n }, [disableFuture, maxDate, month, utils, timezone]);\n}\nexport function usePreviousMonthDisabled(month, {\n disablePast,\n minDate,\n timezone\n}) {\n const utils = useUtils();\n return React.useMemo(() => {\n const now = utils.date(undefined, timezone);\n const firstEnabledMonth = utils.startOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate);\n return !utils.isBefore(firstEnabledMonth, month);\n }, [disablePast, minDate, month, utils, timezone]);\n}\nexport function useMeridiemMode(date, ampm, onChange, selectionState) {\n const utils = useUtils();\n const meridiemMode = getMeridiem(date, utils);\n const handleMeridiemChange = React.useCallback(mode => {\n const timeWithMeridiem = date == null ? null : convertToMeridiem(date, mode, Boolean(ampm), utils);\n onChange(timeWithMeridiem, selectionState ?? 'partial');\n }, [ampm, date, onChange, selectionState, utils]);\n return {\n meridiemMode,\n handleMeridiemChange\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { applyDefaultDate } from '../utils/date-utils';\nimport { useUtils, useDefaultDates } from './useUtils';\nexport const useDefaultizedDateField = props => {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n return _extends({}, props, {\n disablePast: props.disablePast ?? false,\n disableFuture: props.disableFuture ?? false,\n format: props.format ?? utils.formats.keyboardDate,\n minDate: applyDefaultDate(utils, props.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, props.maxDate, defaultDates.maxDate)\n });\n};\nexport const useDefaultizedTimeField = props => {\n const utils = useUtils();\n const ampm = props.ampm ?? utils.is12HourCycleInCurrentLocale();\n const defaultFormat = ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h;\n return _extends({}, props, {\n disablePast: props.disablePast ?? false,\n disableFuture: props.disableFuture ?? false,\n format: props.format ?? defaultFormat\n });\n};\nexport const useDefaultizedDateTimeField = props => {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const ampm = props.ampm ?? utils.is12HourCycleInCurrentLocale();\n const defaultFormat = ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h;\n return _extends({}, props, {\n disablePast: props.disablePast ?? false,\n disableFuture: props.disableFuture ?? false,\n format: props.format ?? defaultFormat,\n disableIgnoringDatePartForTimeValidation: Boolean(props.minDateTime || props.maxDateTime),\n minDate: applyDefaultDate(utils, props.minDateTime ?? props.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, props.maxDateTime ?? props.maxDate, defaultDates.maxDate),\n minTime: props.minDateTime ?? props.minTime,\n maxTime: props.maxDateTime ?? props.maxTime\n });\n};","import useMediaQuery from '@mui/material/useMediaQuery';\nconst PREFERS_REDUCED_MOTION = '@media (prefers-reduced-motion: reduce)';\n\n// detect if user agent has Android version < 10 or iOS version < 13\nconst mobileVersionMatches = typeof navigator !== 'undefined' && navigator.userAgent.match(/android\\s(\\d+)|OS\\s(\\d+)/i);\nconst androidVersion = mobileVersionMatches && mobileVersionMatches[1] ? parseInt(mobileVersionMatches[1], 10) : null;\nconst iOSVersion = mobileVersionMatches && mobileVersionMatches[2] ? parseInt(mobileVersionMatches[2], 10) : null;\nexport const slowAnimationDevices = androidVersion && androidVersion < 10 || iOSVersion && iOSVersion < 13 || false;\nexport const useDefaultReduceAnimations = () => {\n const prefersReduced = useMediaQuery(PREFERS_REDUCED_MOTION, {\n defaultMatches: false\n });\n return prefersReduced || slowAnimationDevices;\n};","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersPopperUtilityClass(slot) {\n return generateUtilityClass('MuiPickersPopper', slot);\n}\nexport const pickersPopperClasses = generateUtilityClasses('MuiPickersPopper', ['root', 'paper']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"PaperComponent\", \"popperPlacement\", \"ownerState\", \"children\", \"paperSlotProps\", \"paperClasses\", \"onPaperClick\", \"onPaperTouchStart\"];\nimport * as React from 'react';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport Grow from '@mui/material/Grow';\nimport Fade from '@mui/material/Fade';\nimport MuiPaper from '@mui/material/Paper';\nimport MuiPopper from '@mui/material/Popper';\nimport BaseFocusTrap from '@mui/material/Unstable_TrapFocus';\nimport { unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback, unstable_ownerDocument as ownerDocument, unstable_composeClasses as composeClasses } from '@mui/utils';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { getPickersPopperUtilityClass } from './pickersPopperClasses';\nimport { getActiveElement } from '../utils/utils';\nimport { useDefaultReduceAnimations } from '../hooks/useDefaultReduceAnimations';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper']\n };\n return composeClasses(slots, getPickersPopperUtilityClass, classes);\n};\nconst PickersPopperRoot = styled(MuiPopper, {\n name: 'MuiPickersPopper',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})(({\n theme\n}) => ({\n zIndex: theme.zIndex.modal\n}));\nconst PickersPopperPaper = styled(MuiPaper, {\n name: 'MuiPickersPopper',\n slot: 'Paper',\n overridesResolver: (_, styles) => styles.paper\n})({\n outline: 0,\n transformOrigin: 'top center',\n variants: [{\n props: ({\n placement\n }) => ['top', 'top-start', 'top-end'].includes(placement),\n style: {\n transformOrigin: 'bottom center'\n }\n }]\n});\nfunction clickedRootScrollbar(event, doc) {\n return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;\n}\n/**\n * Based on @mui/material/ClickAwayListener without the customization.\n * We can probably strip away even more since children won't be portaled.\n * @param {boolean} active Only listen to clicks when the popper is opened.\n * @param {(event: MouseEvent | TouchEvent) => void} onClickAway The callback to call when clicking outside the popper.\n * @returns {Array} The ref and event handler to listen to the outside clicks.\n */\nfunction useClickAwayListener(active, onClickAway) {\n const movedRef = React.useRef(false);\n const syntheticEventRef = React.useRef(false);\n const nodeRef = React.useRef(null);\n const activatedRef = React.useRef(false);\n React.useEffect(() => {\n if (!active) {\n return undefined;\n }\n\n // Ensure that this hook is not \"activated\" synchronously.\n // https://github.com/facebook/react/issues/20074\n function armClickAwayListener() {\n activatedRef.current = true;\n }\n document.addEventListener('mousedown', armClickAwayListener, true);\n document.addEventListener('touchstart', armClickAwayListener, true);\n return () => {\n document.removeEventListener('mousedown', armClickAwayListener, true);\n document.removeEventListener('touchstart', armClickAwayListener, true);\n activatedRef.current = false;\n };\n }, [active]);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n const handleClickAway = useEventCallback(event => {\n if (!activatedRef.current) {\n return;\n }\n\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = syntheticEventRef.current;\n syntheticEventRef.current = false;\n const doc = ownerDocument(nodeRef.current);\n\n // 1. IE11 support, which trigger the handleClickAway even after the unbind\n // 2. The child might render null.\n // 3. Behave like a blur listener.\n if (!nodeRef.current ||\n // is a TouchEvent?\n 'clientX' in event && clickedRootScrollbar(event, doc)) {\n return;\n }\n\n // Do not act if user performed touchmove\n if (movedRef.current) {\n movedRef.current = false;\n return;\n }\n let insideDOM;\n\n // If not enough, can use https://github.com/DieterHolvoet/event-propagation-path/blob/master/propagationPath.js\n if (event.composedPath) {\n insideDOM = event.composedPath().indexOf(nodeRef.current) > -1;\n } else {\n insideDOM = !doc.documentElement.contains(event.target) || nodeRef.current.contains(event.target);\n }\n if (!insideDOM && !insideReactTree) {\n onClickAway(event);\n }\n });\n\n // Keep track of mouse/touch events that bubbled up through the portal.\n const handleSynthetic = () => {\n syntheticEventRef.current = true;\n };\n React.useEffect(() => {\n if (active) {\n const doc = ownerDocument(nodeRef.current);\n const handleTouchMove = () => {\n movedRef.current = true;\n };\n doc.addEventListener('touchstart', handleClickAway);\n doc.addEventListener('touchmove', handleTouchMove);\n return () => {\n doc.removeEventListener('touchstart', handleClickAway);\n doc.removeEventListener('touchmove', handleTouchMove);\n };\n }\n return undefined;\n }, [active, handleClickAway]);\n React.useEffect(() => {\n // TODO This behavior is not tested automatically\n // It's unclear whether this is due to different update semantics in test (batched in act() vs discrete on click).\n // Or if this is a timing related issues due to different Transition components\n // Once we get rid of all the manual scheduling (for example setTimeout(update, 0)) we can revisit this code+test.\n if (active) {\n const doc = ownerDocument(nodeRef.current);\n doc.addEventListener('click', handleClickAway);\n return () => {\n doc.removeEventListener('click', handleClickAway);\n // cleanup `handleClickAway`\n syntheticEventRef.current = false;\n };\n }\n return undefined;\n }, [active, handleClickAway]);\n return [nodeRef, handleSynthetic, handleSynthetic];\n}\nconst PickersPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n PaperComponent,\n popperPlacement,\n ownerState: inOwnerState,\n children,\n paperSlotProps,\n paperClasses,\n onPaperClick,\n onPaperTouchStart\n // picks up the style props provided by `Transition`\n // https://mui.com/material-ui/transitions/#child-requirement\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, inOwnerState, {\n placement: popperPlacement\n });\n const paperProps = useSlotProps({\n elementType: PaperComponent,\n externalSlotProps: paperSlotProps,\n additionalProps: {\n tabIndex: -1,\n elevation: 8,\n ref\n },\n className: paperClasses,\n ownerState\n });\n return /*#__PURE__*/_jsx(PaperComponent, _extends({}, other, paperProps, {\n onClick: event => {\n onPaperClick(event);\n paperProps.onClick?.(event);\n },\n onTouchStart: event => {\n onPaperTouchStart(event);\n paperProps.onTouchStart?.(event);\n },\n ownerState: ownerState,\n children: children\n }));\n});\nexport function PickersPopper(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersPopper'\n });\n const {\n anchorEl,\n children,\n containerRef = null,\n shouldRestoreFocus,\n onBlur,\n onDismiss,\n open,\n role,\n placement,\n slots,\n slotProps,\n reduceAnimations: inReduceAnimations\n } = props;\n React.useEffect(() => {\n function handleKeyDown(nativeEvent) {\n if (open && nativeEvent.key === 'Escape') {\n onDismiss();\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [onDismiss, open]);\n const lastFocusedElementRef = React.useRef(null);\n React.useEffect(() => {\n if (role === 'tooltip' || shouldRestoreFocus && !shouldRestoreFocus()) {\n return;\n }\n if (open) {\n lastFocusedElementRef.current = getActiveElement(document);\n } else if (lastFocusedElementRef.current && lastFocusedElementRef.current instanceof HTMLElement) {\n // make sure the button is flushed with updated label, before returning focus to it\n // avoids issue, where screen reader could fail to announce selected date after selection\n setTimeout(() => {\n if (lastFocusedElementRef.current instanceof HTMLElement) {\n lastFocusedElementRef.current.focus();\n }\n });\n }\n }, [open, role, shouldRestoreFocus]);\n const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur ?? onDismiss);\n const paperRef = React.useRef(null);\n const handleRef = useForkRef(paperRef, containerRef);\n const handlePaperRef = useForkRef(handleRef, clickAwayRef);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const defaultReduceAnimations = useDefaultReduceAnimations();\n const reduceAnimations = inReduceAnimations ?? defaultReduceAnimations;\n const handleKeyDown = event => {\n if (event.key === 'Escape') {\n // stop the propagation to avoid closing parent modal\n event.stopPropagation();\n onDismiss();\n }\n };\n const Transition = slots?.desktopTransition ?? reduceAnimations ? Fade : Grow;\n const FocusTrap = slots?.desktopTrapFocus ?? BaseFocusTrap;\n const Paper = slots?.desktopPaper ?? PickersPopperPaper;\n const Popper = slots?.popper ?? PickersPopperRoot;\n const popperProps = useSlotProps({\n elementType: Popper,\n externalSlotProps: slotProps?.popper,\n additionalProps: {\n transition: true,\n role,\n open,\n anchorEl,\n placement,\n onKeyDown: handleKeyDown\n },\n className: classes.root,\n ownerState: props\n });\n return /*#__PURE__*/_jsx(Popper, _extends({}, popperProps, {\n children: ({\n TransitionProps,\n placement: popperPlacement\n }) => /*#__PURE__*/_jsx(FocusTrap, _extends({\n open: open,\n disableAutoFocus: true\n // pickers are managing focus position manually\n // without this prop the focus is returned to the button before `aria-label` is updated\n // which would force screen readers to read too old label\n ,\n disableRestoreFocus: true,\n disableEnforceFocus: role === 'tooltip',\n isEnabled: () => true\n }, slotProps?.desktopTrapFocus, {\n children: /*#__PURE__*/_jsx(Transition, _extends({}, TransitionProps, slotProps?.desktopTransition, {\n children: /*#__PURE__*/_jsx(PickersPopperPaperWrapper, {\n PaperComponent: Paper,\n ownerState: ownerState,\n popperPlacement: popperPlacement,\n ref: handlePaperRef,\n onPaperClick: onPaperClick,\n onPaperTouchStart: onPaperTouchStart,\n paperClasses: classes.paper,\n paperSlotProps: slotProps?.desktopPaper,\n children: children\n })\n }))\n }))\n }));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"props\", \"getOpenDialogAriaText\"],\n _excluded2 = [\"ownerState\"],\n _excluded3 = [\"ownerState\"];\nimport * as React from 'react';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport MuiInputAdornment from '@mui/material/InputAdornment';\nimport IconButton from '@mui/material/IconButton';\nimport useForkRef from '@mui/utils/useForkRef';\nimport useId from '@mui/utils/useId';\nimport { PickersPopper } from '../../components/PickersPopper';\nimport { useUtils } from '../useUtils';\nimport { usePicker } from '../usePicker';\nimport { LocalizationProvider } from '../../../LocalizationProvider';\nimport { PickersLayout } from '../../../PickersLayout';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * Hook managing all the single-date desktop pickers:\n * - DesktopDatePicker\n * - DesktopDateTimePicker\n * - DesktopTimePicker\n */\nexport const useDesktopPicker = _ref => {\n let {\n props,\n getOpenDialogAriaText\n } = _ref,\n pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);\n const {\n slots,\n slotProps: innerSlotProps,\n className,\n sx,\n format,\n formatDensity,\n enableAccessibleFieldDOMStructure,\n selectedSections,\n onSelectedSectionsChange,\n timezone,\n name,\n label,\n inputRef,\n readOnly,\n disabled,\n autoFocus,\n localeText,\n reduceAnimations\n } = props;\n const utils = useUtils();\n const containerRef = React.useRef(null);\n const fieldRef = React.useRef(null);\n const labelId = useId();\n const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;\n const {\n open,\n actions,\n hasUIView,\n layoutProps,\n renderCurrentView,\n shouldRestoreFocus,\n fieldProps: pickerFieldProps\n } = usePicker(_extends({}, pickerParams, {\n props,\n fieldRef,\n autoFocusView: true,\n additionalViewProps: {},\n wrapperVariant: 'desktop'\n }));\n const InputAdornment = slots.inputAdornment ?? MuiInputAdornment;\n const _useSlotProps = useSlotProps({\n elementType: InputAdornment,\n externalSlotProps: innerSlotProps?.inputAdornment,\n additionalProps: {\n position: 'end'\n },\n ownerState: props\n }),\n inputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);\n const OpenPickerButton = slots.openPickerButton ?? IconButton;\n const _useSlotProps2 = useSlotProps({\n elementType: OpenPickerButton,\n externalSlotProps: innerSlotProps?.openPickerButton,\n additionalProps: {\n disabled: disabled || readOnly,\n onClick: open ? actions.onClose : actions.onOpen,\n 'aria-label': getOpenDialogAriaText(pickerFieldProps.value, utils),\n edge: inputAdornmentProps.position\n },\n ownerState: props\n }),\n openPickerButtonProps = _objectWithoutPropertiesLoose(_useSlotProps2, _excluded3);\n const OpenPickerIcon = slots.openPickerIcon;\n const Field = slots.field;\n const fieldProps = useSlotProps({\n elementType: Field,\n externalSlotProps: innerSlotProps?.field,\n additionalProps: _extends({}, pickerFieldProps, isToolbarHidden && {\n id: labelId\n }, {\n readOnly,\n disabled,\n className,\n sx,\n format,\n formatDensity,\n enableAccessibleFieldDOMStructure,\n selectedSections,\n onSelectedSectionsChange,\n timezone,\n label,\n name,\n autoFocus: autoFocus && !props.open,\n focused: open ? true : undefined\n }, inputRef ? {\n inputRef\n } : {}),\n ownerState: props\n });\n\n // TODO: Move to `useSlotProps` when https://github.com/mui/material-ui/pull/35088 will be merged\n if (hasUIView) {\n fieldProps.InputProps = _extends({}, fieldProps.InputProps, {\n ref: containerRef\n }, !props.disableOpenPicker && {\n [`${inputAdornmentProps.position}Adornment`]: /*#__PURE__*/_jsx(InputAdornment, _extends({}, inputAdornmentProps, {\n children: /*#__PURE__*/_jsx(OpenPickerButton, _extends({}, openPickerButtonProps, {\n children: /*#__PURE__*/_jsx(OpenPickerIcon, _extends({}, innerSlotProps?.openPickerIcon))\n }))\n }))\n });\n }\n const slotsForField = _extends({\n textField: slots.textField,\n clearIcon: slots.clearIcon,\n clearButton: slots.clearButton\n }, fieldProps.slots);\n const Layout = slots.layout ?? PickersLayout;\n let labelledById = labelId;\n if (isToolbarHidden) {\n if (label) {\n labelledById = `${labelId}-label`;\n } else {\n labelledById = undefined;\n }\n }\n const slotProps = _extends({}, innerSlotProps, {\n toolbar: _extends({}, innerSlotProps?.toolbar, {\n titleId: labelId\n }),\n popper: _extends({\n 'aria-labelledby': labelledById\n }, innerSlotProps?.popper)\n });\n const handleFieldRef = useForkRef(fieldRef, fieldProps.unstableFieldRef);\n const renderPicker = () => /*#__PURE__*/_jsxs(LocalizationProvider, {\n localeText: localeText,\n children: [/*#__PURE__*/_jsx(Field, _extends({}, fieldProps, {\n slots: slotsForField,\n slotProps: slotProps,\n unstableFieldRef: handleFieldRef\n })), /*#__PURE__*/_jsx(PickersPopper, _extends({\n role: \"dialog\",\n placement: \"bottom-start\",\n anchorEl: containerRef.current\n }, actions, {\n open: open,\n slots: slots,\n slotProps: slotProps,\n shouldRestoreFocus: shouldRestoreFocus,\n reduceAnimations: reduceAnimations,\n children: /*#__PURE__*/_jsx(Layout, _extends({}, layoutProps, slotProps?.layout, {\n slots: slots,\n slotProps: slotProps,\n children: renderCurrentView()\n }))\n }))]\n });\n return {\n renderPicker\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { applyLocalizedDigits, cleanLeadingZeros, doesSectionFormatHaveLeadingZeros, getDateSectionConfigFromFormatToken, removeLocalizedDigits } from './useField.utils';\nconst expandFormat = ({\n utils,\n format\n}) => {\n // Expand the provided format\n let formatExpansionOverflow = 10;\n let prevFormat = format;\n let nextFormat = utils.expandFormat(format);\n while (nextFormat !== prevFormat) {\n prevFormat = nextFormat;\n nextFormat = utils.expandFormat(prevFormat);\n formatExpansionOverflow -= 1;\n if (formatExpansionOverflow < 0) {\n throw new Error('MUI X: The format expansion seems to be in an infinite loop. Please open an issue with the format passed to the picker component.');\n }\n }\n return nextFormat;\n};\nconst getEscapedPartsFromFormat = ({\n utils,\n expandedFormat\n}) => {\n const escapedParts = [];\n const {\n start: startChar,\n end: endChar\n } = utils.escapedCharacters;\n const regExp = new RegExp(`(\\\\${startChar}[^\\\\${endChar}]*\\\\${endChar})+`, 'g');\n let match = null;\n // eslint-disable-next-line no-cond-assign\n while (match = regExp.exec(expandedFormat)) {\n escapedParts.push({\n start: match.index,\n end: regExp.lastIndex - 1\n });\n }\n return escapedParts;\n};\nconst getSectionPlaceholder = (utils, timezone, localeText, sectionConfig, sectionFormat) => {\n switch (sectionConfig.type) {\n case 'year':\n {\n return localeText.fieldYearPlaceholder({\n digitAmount: utils.formatByString(utils.date(undefined, timezone), sectionFormat).length,\n format: sectionFormat\n });\n }\n case 'month':\n {\n return localeText.fieldMonthPlaceholder({\n contentType: sectionConfig.contentType,\n format: sectionFormat\n });\n }\n case 'day':\n {\n return localeText.fieldDayPlaceholder({\n format: sectionFormat\n });\n }\n case 'weekDay':\n {\n return localeText.fieldWeekDayPlaceholder({\n contentType: sectionConfig.contentType,\n format: sectionFormat\n });\n }\n case 'hours':\n {\n return localeText.fieldHoursPlaceholder({\n format: sectionFormat\n });\n }\n case 'minutes':\n {\n return localeText.fieldMinutesPlaceholder({\n format: sectionFormat\n });\n }\n case 'seconds':\n {\n return localeText.fieldSecondsPlaceholder({\n format: sectionFormat\n });\n }\n case 'meridiem':\n {\n return localeText.fieldMeridiemPlaceholder({\n format: sectionFormat\n });\n }\n default:\n {\n return sectionFormat;\n }\n }\n};\nconst createSection = ({\n utils,\n timezone,\n date,\n shouldRespectLeadingZeros,\n localeText,\n localizedDigits,\n now,\n token,\n startSeparator\n}) => {\n if (token === '') {\n throw new Error('MUI X: Should not call `commitToken` with an empty token');\n }\n const sectionConfig = getDateSectionConfigFromFormatToken(utils, token);\n const hasLeadingZerosInFormat = doesSectionFormatHaveLeadingZeros(utils, timezone, sectionConfig.contentType, sectionConfig.type, token);\n const hasLeadingZerosInInput = shouldRespectLeadingZeros ? hasLeadingZerosInFormat : sectionConfig.contentType === 'digit';\n const isValidDate = date != null && utils.isValid(date);\n let sectionValue = isValidDate ? utils.formatByString(date, token) : '';\n let maxLength = null;\n if (hasLeadingZerosInInput) {\n if (hasLeadingZerosInFormat) {\n maxLength = sectionValue === '' ? utils.formatByString(now, token).length : sectionValue.length;\n } else {\n if (sectionConfig.maxLength == null) {\n throw new Error(`MUI X: The token ${token} should have a 'maxDigitNumber' property on it's adapter`);\n }\n maxLength = sectionConfig.maxLength;\n if (isValidDate) {\n sectionValue = applyLocalizedDigits(cleanLeadingZeros(removeLocalizedDigits(sectionValue, localizedDigits), maxLength), localizedDigits);\n }\n }\n }\n return _extends({}, sectionConfig, {\n format: token,\n maxLength,\n value: sectionValue,\n placeholder: getSectionPlaceholder(utils, timezone, localeText, sectionConfig, token),\n hasLeadingZerosInFormat,\n hasLeadingZerosInInput,\n startSeparator,\n endSeparator: '',\n modified: false\n });\n};\nconst buildSections = params => {\n const {\n utils,\n expandedFormat,\n escapedParts\n } = params;\n const now = utils.date(undefined);\n const sections = [];\n let startSeparator = '';\n\n // This RegExp tests if the beginning of a string corresponds to a supported token\n const validTokens = Object.keys(utils.formatTokenMap).sort((a, b) => b.length - a.length); // Sort to put longest word first\n\n const regExpFirstWordInFormat = /^([a-zA-Z]+)/;\n const regExpWordOnlyComposedOfTokens = new RegExp(`^(${validTokens.join('|')})*$`);\n const regExpFirstTokenInWord = new RegExp(`^(${validTokens.join('|')})`);\n const getEscapedPartOfCurrentChar = i => escapedParts.find(escapeIndex => escapeIndex.start <= i && escapeIndex.end >= i);\n let i = 0;\n while (i < expandedFormat.length) {\n const escapedPartOfCurrentChar = getEscapedPartOfCurrentChar(i);\n const isEscapedChar = escapedPartOfCurrentChar != null;\n const firstWordInFormat = regExpFirstWordInFormat.exec(expandedFormat.slice(i))?.[1];\n\n // The first word in the format is only composed of tokens.\n // We extract those tokens to create a new sections.\n if (!isEscapedChar && firstWordInFormat != null && regExpWordOnlyComposedOfTokens.test(firstWordInFormat)) {\n let word = firstWordInFormat;\n while (word.length > 0) {\n const firstWord = regExpFirstTokenInWord.exec(word)[1];\n word = word.slice(firstWord.length);\n sections.push(createSection(_extends({}, params, {\n now,\n token: firstWord,\n startSeparator\n })));\n startSeparator = '';\n }\n i += firstWordInFormat.length;\n }\n // The remaining format does not start with a token,\n // We take the first character and add it to the current section's end separator.\n else {\n const char = expandedFormat[i];\n\n // If we are on the opening or closing character of an escaped part of the format,\n // Then we ignore this character.\n const isEscapeBoundary = isEscapedChar && escapedPartOfCurrentChar?.start === i || escapedPartOfCurrentChar?.end === i;\n if (!isEscapeBoundary) {\n if (sections.length === 0) {\n startSeparator += char;\n } else {\n sections[sections.length - 1].endSeparator += char;\n }\n }\n i += 1;\n }\n }\n if (sections.length === 0 && startSeparator.length > 0) {\n sections.push({\n type: 'empty',\n contentType: 'letter',\n maxLength: null,\n format: '',\n value: '',\n placeholder: '',\n hasLeadingZerosInFormat: false,\n hasLeadingZerosInInput: false,\n startSeparator,\n endSeparator: '',\n modified: false\n });\n }\n return sections;\n};\nconst postProcessSections = ({\n isRtl,\n formatDensity,\n sections\n}) => {\n return sections.map(section => {\n const cleanSeparator = separator => {\n let cleanedSeparator = separator;\n if (isRtl && cleanedSeparator !== null && cleanedSeparator.includes(' ')) {\n cleanedSeparator = `\\u2069${cleanedSeparator}\\u2066`;\n }\n if (formatDensity === 'spacious' && ['/', '.', '-'].includes(cleanedSeparator)) {\n cleanedSeparator = ` ${cleanedSeparator} `;\n }\n return cleanedSeparator;\n };\n section.startSeparator = cleanSeparator(section.startSeparator);\n section.endSeparator = cleanSeparator(section.endSeparator);\n return section;\n });\n};\nexport const buildSectionsFromFormat = params => {\n let expandedFormat = expandFormat(params);\n if (params.isRtl && params.enableAccessibleFieldDOMStructure) {\n expandedFormat = expandedFormat.split(' ').reverse().join(' ');\n }\n const escapedParts = getEscapedPartsFromFormat(_extends({}, params, {\n expandedFormat\n }));\n const sections = buildSections(_extends({}, params, {\n expandedFormat,\n escapedParts\n }));\n return postProcessSections(_extends({}, params, {\n sections\n }));\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useControlled from '@mui/utils/useControlled';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { usePickersTranslations } from '../../../hooks/usePickersTranslations';\nimport { useUtils, useLocalizationContext } from '../useUtils';\nimport { mergeDateIntoReferenceDate, getSectionsBoundaries, validateSections, getDateFromDateSections, parseSelectedSections, getLocalizedDigits } from './useField.utils';\nimport { buildSectionsFromFormat } from './buildSectionsFromFormat';\nimport { useValueWithTimezone } from '../useValueWithTimezone';\nimport { getSectionTypeGranularity } from '../../utils/getDefaultReferenceDate';\nexport const useFieldState = params => {\n const utils = useUtils();\n const translations = usePickersTranslations();\n const adapter = useLocalizationContext();\n const isRtl = useRtl();\n const {\n valueManager,\n fieldValueManager,\n valueType,\n validator,\n internalProps,\n internalProps: {\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n onChange,\n format,\n formatDensity = 'dense',\n selectedSections: selectedSectionsProp,\n onSelectedSectionsChange,\n shouldRespectLeadingZeros = false,\n timezone: timezoneProp,\n enableAccessibleFieldDOMStructure = false\n }\n } = params;\n const {\n timezone,\n value: valueFromTheOutside,\n handleValueChange\n } = useValueWithTimezone({\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange,\n valueManager\n });\n const localizedDigits = React.useMemo(() => getLocalizedDigits(utils), [utils]);\n const sectionsValueBoundaries = React.useMemo(() => getSectionsBoundaries(utils, localizedDigits, timezone), [utils, localizedDigits, timezone]);\n const getSectionsFromValue = React.useCallback((value, fallbackSections = null) => fieldValueManager.getSectionsFromValue(utils, value, fallbackSections, date => buildSectionsFromFormat({\n utils,\n timezone,\n localeText: translations,\n localizedDigits,\n format,\n date,\n formatDensity,\n shouldRespectLeadingZeros,\n enableAccessibleFieldDOMStructure,\n isRtl\n })), [fieldValueManager, format, translations, localizedDigits, isRtl, shouldRespectLeadingZeros, utils, formatDensity, timezone, enableAccessibleFieldDOMStructure]);\n const [state, setState] = React.useState(() => {\n const sections = getSectionsFromValue(valueFromTheOutside);\n validateSections(sections, valueType);\n const stateWithoutReferenceDate = {\n sections,\n value: valueFromTheOutside,\n referenceValue: valueManager.emptyValue,\n tempValueStrAndroid: null\n };\n const granularity = getSectionTypeGranularity(sections);\n const referenceValue = valueManager.getInitialReferenceValue({\n referenceDate: referenceDateProp,\n value: valueFromTheOutside,\n utils,\n props: internalProps,\n granularity,\n timezone\n });\n return _extends({}, stateWithoutReferenceDate, {\n referenceValue\n });\n });\n const [selectedSections, innerSetSelectedSections] = useControlled({\n controlled: selectedSectionsProp,\n default: null,\n name: 'useField',\n state: 'selectedSections'\n });\n const setSelectedSections = newSelectedSections => {\n innerSetSelectedSections(newSelectedSections);\n onSelectedSectionsChange?.(newSelectedSections);\n };\n const parsedSelectedSections = React.useMemo(() => parseSelectedSections(selectedSections, state.sections), [selectedSections, state.sections]);\n const activeSectionIndex = parsedSelectedSections === 'all' ? 0 : parsedSelectedSections;\n const publishValue = ({\n value,\n referenceValue,\n sections\n }) => {\n setState(prevState => _extends({}, prevState, {\n sections,\n value,\n referenceValue,\n tempValueStrAndroid: null\n }));\n if (valueManager.areValuesEqual(utils, state.value, value)) {\n return;\n }\n const context = {\n validationError: validator({\n adapter,\n value,\n props: _extends({}, internalProps, {\n value,\n timezone\n })\n })\n };\n handleValueChange(value, context);\n };\n const setSectionValue = (sectionIndex, newSectionValue) => {\n const newSections = [...state.sections];\n newSections[sectionIndex] = _extends({}, newSections[sectionIndex], {\n value: newSectionValue,\n modified: true\n });\n return newSections;\n };\n const clearValue = () => {\n publishValue({\n value: valueManager.emptyValue,\n referenceValue: state.referenceValue,\n sections: getSectionsFromValue(valueManager.emptyValue)\n });\n };\n const clearActiveSection = () => {\n if (activeSectionIndex == null) {\n return;\n }\n const activeSection = state.sections[activeSectionIndex];\n const activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);\n const nonEmptySectionCountBefore = activeDateManager.getSections(state.sections).filter(section => section.value !== '').length;\n const hasNoOtherNonEmptySections = nonEmptySectionCountBefore === (activeSection.value === '' ? 0 : 1);\n const newSections = setSectionValue(activeSectionIndex, '');\n const newActiveDate = hasNoOtherNonEmptySections ? null : utils.getInvalidDate();\n const newValues = activeDateManager.getNewValuesFromNewActiveDate(newActiveDate);\n publishValue(_extends({}, newValues, {\n sections: newSections\n }));\n };\n const updateValueFromValueStr = valueStr => {\n const parseDateStr = (dateStr, referenceDate) => {\n const date = utils.parse(dateStr, format);\n if (date == null || !utils.isValid(date)) {\n return null;\n }\n const sections = buildSectionsFromFormat({\n utils,\n timezone,\n localeText: translations,\n localizedDigits,\n format,\n date,\n formatDensity,\n shouldRespectLeadingZeros,\n enableAccessibleFieldDOMStructure,\n isRtl\n });\n return mergeDateIntoReferenceDate(utils, timezone, date, sections, referenceDate, false);\n };\n const newValue = fieldValueManager.parseValueStr(valueStr, state.referenceValue, parseDateStr);\n const newReferenceValue = fieldValueManager.updateReferenceValue(utils, newValue, state.referenceValue);\n publishValue({\n value: newValue,\n referenceValue: newReferenceValue,\n sections: getSectionsFromValue(newValue, state.sections)\n });\n };\n const updateSectionValue = ({\n activeSection,\n newSectionValue,\n shouldGoToNextSection\n }) => {\n /**\n * 1. Decide which section should be focused\n */\n if (shouldGoToNextSection && activeSectionIndex < state.sections.length - 1) {\n setSelectedSections(activeSectionIndex + 1);\n }\n\n /**\n * 2. Try to build a valid date from the new section value\n */\n const activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);\n const newSections = setSectionValue(activeSectionIndex, newSectionValue);\n const newActiveDateSections = activeDateManager.getSections(newSections);\n const newActiveDate = getDateFromDateSections(utils, newActiveDateSections, localizedDigits);\n let values;\n let shouldPublish;\n\n /**\n * If the new date is valid,\n * Then we merge the value of the modified sections into the reference date.\n * This makes sure that we don't lose some information of the initial date (like the time on a date field).\n */\n if (newActiveDate != null && utils.isValid(newActiveDate)) {\n const mergedDate = mergeDateIntoReferenceDate(utils, timezone, newActiveDate, newActiveDateSections, activeDateManager.referenceDate, true);\n values = activeDateManager.getNewValuesFromNewActiveDate(mergedDate);\n shouldPublish = true;\n } else {\n values = activeDateManager.getNewValuesFromNewActiveDate(newActiveDate);\n shouldPublish = (newActiveDate != null && !utils.isValid(newActiveDate)) !== (activeDateManager.date != null && !utils.isValid(activeDateManager.date));\n }\n\n /**\n * Publish or update the internal state with the new value and sections.\n */\n if (shouldPublish) {\n return publishValue(_extends({}, values, {\n sections: newSections\n }));\n }\n return setState(prevState => _extends({}, prevState, values, {\n sections: newSections,\n tempValueStrAndroid: null\n }));\n };\n const setTempAndroidValueStr = tempValueStrAndroid => setState(prev => _extends({}, prev, {\n tempValueStrAndroid\n }));\n React.useEffect(() => {\n const sections = getSectionsFromValue(state.value);\n validateSections(sections, valueType);\n setState(prevState => _extends({}, prevState, {\n sections\n }));\n }, [format, utils.locale, isRtl]); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n let shouldUpdate;\n if (!valueManager.areValuesEqual(utils, state.value, valueFromTheOutside)) {\n shouldUpdate = true;\n } else {\n shouldUpdate = valueManager.getTimezone(utils, state.value) !== valueManager.getTimezone(utils, valueFromTheOutside);\n }\n if (shouldUpdate) {\n setState(prevState => _extends({}, prevState, {\n value: valueFromTheOutside,\n referenceValue: fieldValueManager.updateReferenceValue(utils, valueFromTheOutside, prevState.referenceValue),\n sections: getSectionsFromValue(valueFromTheOutside)\n }));\n }\n }, [valueFromTheOutside]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return {\n state,\n activeSectionIndex,\n parsedSelectedSections,\n setSelectedSections,\n clearValue,\n clearActiveSection,\n updateSectionValue,\n updateValueFromValueStr,\n setTempAndroidValueStr,\n getSectionsFromValue,\n sectionsValueBoundaries,\n localizedDigits,\n timezone\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useUtils } from '../useUtils';\nimport { changeSectionValueFormat, cleanDigitSectionValue, doesSectionFormatHaveLeadingZeros, getDateSectionConfigFromFormatToken, getDaysInWeekStr, getLetterEditingOptions, applyLocalizedDigits, removeLocalizedDigits, isStringNumber } from './useField.utils';\n\n/**\n * The letter editing and the numeric editing each define a `CharacterEditingApplier`.\n * This function decides what the new section value should be and if the focus should switch to the next section.\n *\n * If it returns `null`, then the section value is not updated and the focus does not move.\n */\n\n/**\n * Function called by `applyQuery` which decides:\n * - what is the new section value ?\n * - should the query used to get this value be stored for the next key press ?\n *\n * If it returns `{ sectionValue: string; shouldGoToNextSection: boolean }`,\n * Then we store the query and update the section with the new value.\n *\n * If it returns `{ saveQuery: true` },\n * Then we store the query and don't update the section.\n *\n * If it returns `{ saveQuery: false },\n * Then we do nothing.\n */\n\nconst QUERY_LIFE_DURATION_MS = 5000;\nconst isQueryResponseWithoutValue = response => response.saveQuery != null;\n\n/**\n * Update the active section value when the user pressed a key that is not a navigation key (arrow key for example).\n * This hook has two main editing behaviors\n *\n * 1. The numeric editing when the user presses a digit\n * 2. The letter editing when the user presses another key\n */\nexport const useFieldCharacterEditing = ({\n sections,\n updateSectionValue,\n sectionsValueBoundaries,\n localizedDigits,\n setTempAndroidValueStr,\n timezone\n}) => {\n const utils = useUtils();\n const [query, setQuery] = React.useState(null);\n const resetQuery = useEventCallback(() => setQuery(null));\n React.useEffect(() => {\n if (query != null && sections[query.sectionIndex]?.type !== query.sectionType) {\n resetQuery();\n }\n }, [sections, query, resetQuery]);\n React.useEffect(() => {\n if (query != null) {\n const timeout = setTimeout(() => resetQuery(), QUERY_LIFE_DURATION_MS);\n return () => {\n clearTimeout(timeout);\n };\n }\n return () => {};\n }, [query, resetQuery]);\n const applyQuery = ({\n keyPressed,\n sectionIndex\n }, getFirstSectionValueMatchingWithQuery, isValidQueryValue) => {\n const cleanKeyPressed = keyPressed.toLowerCase();\n const activeSection = sections[sectionIndex];\n\n // The current query targets the section being editing\n // We can try to concatenate the value\n if (query != null && (!isValidQueryValue || isValidQueryValue(query.value)) && query.sectionIndex === sectionIndex) {\n const concatenatedQueryValue = `${query.value}${cleanKeyPressed}`;\n const queryResponse = getFirstSectionValueMatchingWithQuery(concatenatedQueryValue, activeSection);\n if (!isQueryResponseWithoutValue(queryResponse)) {\n setQuery({\n sectionIndex,\n value: concatenatedQueryValue,\n sectionType: activeSection.type\n });\n return queryResponse;\n }\n }\n const queryResponse = getFirstSectionValueMatchingWithQuery(cleanKeyPressed, activeSection);\n if (isQueryResponseWithoutValue(queryResponse) && !queryResponse.saveQuery) {\n resetQuery();\n return null;\n }\n setQuery({\n sectionIndex,\n value: cleanKeyPressed,\n sectionType: activeSection.type\n });\n if (isQueryResponseWithoutValue(queryResponse)) {\n return null;\n }\n return queryResponse;\n };\n const applyLetterEditing = params => {\n const findMatchingOptions = (format, options, queryValue) => {\n const matchingValues = options.filter(option => option.toLowerCase().startsWith(queryValue));\n if (matchingValues.length === 0) {\n return {\n saveQuery: false\n };\n }\n return {\n sectionValue: matchingValues[0],\n shouldGoToNextSection: matchingValues.length === 1\n };\n };\n const testQueryOnFormatAndFallbackFormat = (queryValue, activeSection, fallbackFormat, formatFallbackValue) => {\n const getOptions = format => getLetterEditingOptions(utils, timezone, activeSection.type, format);\n if (activeSection.contentType === 'letter') {\n return findMatchingOptions(activeSection.format, getOptions(activeSection.format), queryValue);\n }\n\n // When editing a digit-format month / weekDay and the user presses a letter,\n // We can support the letter editing by using the letter-format month / weekDay and re-formatting the result.\n // We just have to make sure that the default month / weekDay format is a letter format,\n if (fallbackFormat && formatFallbackValue != null && getDateSectionConfigFromFormatToken(utils, fallbackFormat).contentType === 'letter') {\n const fallbackOptions = getOptions(fallbackFormat);\n const response = findMatchingOptions(fallbackFormat, fallbackOptions, queryValue);\n if (isQueryResponseWithoutValue(response)) {\n return {\n saveQuery: false\n };\n }\n return _extends({}, response, {\n sectionValue: formatFallbackValue(response.sectionValue, fallbackOptions)\n });\n }\n return {\n saveQuery: false\n };\n };\n const getFirstSectionValueMatchingWithQuery = (queryValue, activeSection) => {\n switch (activeSection.type) {\n case 'month':\n {\n const formatFallbackValue = fallbackValue => changeSectionValueFormat(utils, fallbackValue, utils.formats.month, activeSection.format);\n return testQueryOnFormatAndFallbackFormat(queryValue, activeSection, utils.formats.month, formatFallbackValue);\n }\n case 'weekDay':\n {\n const formatFallbackValue = (fallbackValue, fallbackOptions) => fallbackOptions.indexOf(fallbackValue).toString();\n return testQueryOnFormatAndFallbackFormat(queryValue, activeSection, utils.formats.weekday, formatFallbackValue);\n }\n case 'meridiem':\n {\n return testQueryOnFormatAndFallbackFormat(queryValue, activeSection);\n }\n default:\n {\n return {\n saveQuery: false\n };\n }\n }\n };\n return applyQuery(params, getFirstSectionValueMatchingWithQuery);\n };\n const applyNumericEditing = params => {\n const getNewSectionValue = (queryValue, section) => {\n const cleanQueryValue = removeLocalizedDigits(queryValue, localizedDigits);\n const queryValueNumber = Number(cleanQueryValue);\n const sectionBoundaries = sectionsValueBoundaries[section.type]({\n currentDate: null,\n format: section.format,\n contentType: section.contentType\n });\n if (queryValueNumber > sectionBoundaries.maximum) {\n return {\n saveQuery: false\n };\n }\n\n // If the user types `0` on a month section,\n // It is below the minimum, but we want to store the `0` in the query,\n // So that when he pressed `1`, it will store `01` and move to the next section.\n if (queryValueNumber < sectionBoundaries.minimum) {\n return {\n saveQuery: true\n };\n }\n const shouldGoToNextSection = queryValueNumber * 10 > sectionBoundaries.maximum || cleanQueryValue.length === sectionBoundaries.maximum.toString().length;\n const newSectionValue = cleanDigitSectionValue(utils, queryValueNumber, sectionBoundaries, localizedDigits, section);\n return {\n sectionValue: newSectionValue,\n shouldGoToNextSection\n };\n };\n const getFirstSectionValueMatchingWithQuery = (queryValue, activeSection) => {\n if (activeSection.contentType === 'digit' || activeSection.contentType === 'digit-with-letter') {\n return getNewSectionValue(queryValue, activeSection);\n }\n\n // When editing a letter-format month and the user presses a digit,\n // We can support the numeric editing by using the digit-format month and re-formatting the result.\n if (activeSection.type === 'month') {\n const hasLeadingZerosInFormat = doesSectionFormatHaveLeadingZeros(utils, timezone, 'digit', 'month', 'MM');\n const response = getNewSectionValue(queryValue, {\n type: activeSection.type,\n format: 'MM',\n hasLeadingZerosInFormat,\n hasLeadingZerosInInput: true,\n contentType: 'digit',\n maxLength: 2\n });\n if (isQueryResponseWithoutValue(response)) {\n return response;\n }\n const formattedValue = changeSectionValueFormat(utils, response.sectionValue, 'MM', activeSection.format);\n return _extends({}, response, {\n sectionValue: formattedValue\n });\n }\n\n // When editing a letter-format weekDay and the user presses a digit,\n // We can support the numeric editing by returning the nth day in the week day array.\n if (activeSection.type === 'weekDay') {\n const response = getNewSectionValue(queryValue, activeSection);\n if (isQueryResponseWithoutValue(response)) {\n return response;\n }\n const formattedValue = getDaysInWeekStr(utils, timezone, activeSection.format)[Number(response.sectionValue) - 1];\n return _extends({}, response, {\n sectionValue: formattedValue\n });\n }\n return {\n saveQuery: false\n };\n };\n return applyQuery(params, getFirstSectionValueMatchingWithQuery, queryValue => isStringNumber(queryValue, localizedDigits));\n };\n const applyCharacterEditing = useEventCallback(params => {\n const activeSection = sections[params.sectionIndex];\n const isNumericEditing = isStringNumber(params.keyPressed, localizedDigits);\n const response = isNumericEditing ? applyNumericEditing(_extends({}, params, {\n keyPressed: applyLocalizedDigits(params.keyPressed, localizedDigits)\n })) : applyLetterEditing(params);\n if (response == null) {\n setTempAndroidValueStr(null);\n return;\n }\n updateSectionValue({\n activeSection,\n newSectionValue: response.sectionValue,\n shouldGoToNextSection: response.shouldGoToNextSection\n });\n });\n return {\n applyCharacterEditing,\n resetCharacterQuery: resetQuery\n };\n};","import * as React from 'react';\nimport useForkRef from '@mui/utils/useForkRef';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport useId from '@mui/utils/useId';\nimport { getSectionValueNow, getSectionValueText, parseSelectedSections } from './useField.utils';\nimport { getActiveElement } from '../../utils/utils';\nimport { usePickersTranslations } from '../../../hooks/usePickersTranslations';\nimport { useUtils } from '../useUtils';\nexport const useFieldV7TextField = params => {\n const {\n internalProps: {\n disabled,\n readOnly = false\n },\n forwardedProps: {\n sectionListRef: inSectionListRef,\n onBlur,\n onClick,\n onFocus,\n onInput,\n onPaste,\n focused: focusedProp,\n autoFocus = false\n },\n fieldValueManager,\n applyCharacterEditing,\n resetCharacterQuery,\n setSelectedSections,\n parsedSelectedSections,\n state,\n clearActiveSection,\n clearValue,\n updateSectionValue,\n updateValueFromValueStr,\n sectionOrder,\n areAllSectionsEmpty,\n sectionsValueBoundaries\n } = params;\n const sectionListRef = React.useRef(null);\n const handleSectionListRef = useForkRef(inSectionListRef, sectionListRef);\n const translations = usePickersTranslations();\n const utils = useUtils();\n const id = useId();\n const [focused, setFocused] = React.useState(false);\n const interactions = React.useMemo(() => ({\n syncSelectionToDOM: () => {\n if (!sectionListRef.current) {\n return;\n }\n const selection = document.getSelection();\n if (!selection) {\n return;\n }\n if (parsedSelectedSections == null) {\n // If the selection contains an element inside the field, we reset it.\n if (selection.rangeCount > 0 && sectionListRef.current.getRoot().contains(selection.getRangeAt(0).startContainer)) {\n selection.removeAllRanges();\n }\n if (focused) {\n sectionListRef.current.getRoot().blur();\n }\n return;\n }\n\n // On multi input range pickers we want to update selection range only for the active input\n if (!sectionListRef.current.getRoot().contains(getActiveElement(document))) {\n return;\n }\n const range = new window.Range();\n let target;\n if (parsedSelectedSections === 'all') {\n target = sectionListRef.current.getRoot();\n } else {\n const section = state.sections[parsedSelectedSections];\n if (section.type === 'empty') {\n target = sectionListRef.current.getSectionContainer(parsedSelectedSections);\n } else {\n target = sectionListRef.current.getSectionContent(parsedSelectedSections);\n }\n }\n range.selectNodeContents(target);\n target.focus();\n selection.removeAllRanges();\n selection.addRange(range);\n },\n getActiveSectionIndexFromDOM: () => {\n const activeElement = getActiveElement(document);\n if (!activeElement || !sectionListRef.current || !sectionListRef.current.getRoot().contains(activeElement)) {\n return null;\n }\n return sectionListRef.current.getSectionIndexFromDOMElement(activeElement);\n },\n focusField: (newSelectedSections = 0) => {\n if (!sectionListRef.current) {\n return;\n }\n const newParsedSelectedSections = parseSelectedSections(newSelectedSections, state.sections);\n setFocused(true);\n sectionListRef.current.getSectionContent(newParsedSelectedSections).focus();\n },\n setSelectedSections: newSelectedSections => {\n if (!sectionListRef.current) {\n return;\n }\n const newParsedSelectedSections = parseSelectedSections(newSelectedSections, state.sections);\n const newActiveSectionIndex = newParsedSelectedSections === 'all' ? 0 : newParsedSelectedSections;\n setFocused(newActiveSectionIndex !== null);\n setSelectedSections(newSelectedSections);\n },\n isFieldFocused: () => {\n const activeElement = getActiveElement(document);\n return !!sectionListRef.current && sectionListRef.current.getRoot().contains(activeElement);\n }\n }), [parsedSelectedSections, setSelectedSections, state.sections, focused]);\n\n /**\n * If a section content has been updated with a value we don't want to keep,\n * Then we need to imperatively revert it (we can't let React do it because the value did not change in his internal representation).\n */\n const revertDOMSectionChange = useEventCallback(sectionIndex => {\n if (!sectionListRef.current) {\n return;\n }\n const section = state.sections[sectionIndex];\n sectionListRef.current.getSectionContent(sectionIndex).innerHTML = section.value || section.placeholder;\n interactions.syncSelectionToDOM();\n });\n const handleContainerClick = useEventCallback((event, ...args) => {\n // The click event on the clear button would propagate to the input, trigger this handler and result in a wrong section selection.\n // We avoid this by checking if the call of `handleContainerClick` is actually intended, or a side effect.\n if (event.isDefaultPrevented() || !sectionListRef.current) {\n return;\n }\n setFocused(true);\n onClick?.(event, ...args);\n if (parsedSelectedSections === 'all') {\n setTimeout(() => {\n const cursorPosition = document.getSelection().getRangeAt(0).startOffset;\n if (cursorPosition === 0) {\n setSelectedSections(sectionOrder.startIndex);\n return;\n }\n let sectionIndex = 0;\n let cursorOnStartOfSection = 0;\n while (cursorOnStartOfSection < cursorPosition && sectionIndex < state.sections.length) {\n const section = state.sections[sectionIndex];\n sectionIndex += 1;\n cursorOnStartOfSection += `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`.length;\n }\n setSelectedSections(sectionIndex - 1);\n });\n } else if (!focused) {\n setFocused(true);\n setSelectedSections(sectionOrder.startIndex);\n } else {\n const hasClickedOnASection = sectionListRef.current.getRoot().contains(event.target);\n if (!hasClickedOnASection) {\n setSelectedSections(sectionOrder.startIndex);\n }\n }\n });\n const handleContainerInput = useEventCallback(event => {\n onInput?.(event);\n if (!sectionListRef.current || parsedSelectedSections !== 'all') {\n return;\n }\n const target = event.target;\n const keyPressed = target.textContent ?? '';\n sectionListRef.current.getRoot().innerHTML = state.sections.map(section => `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`).join('');\n interactions.syncSelectionToDOM();\n if (keyPressed.length === 0 || keyPressed.charCodeAt(0) === 10) {\n resetCharacterQuery();\n clearValue();\n setSelectedSections('all');\n } else if (keyPressed.length > 1) {\n updateValueFromValueStr(keyPressed);\n } else {\n applyCharacterEditing({\n keyPressed,\n sectionIndex: 0\n });\n }\n });\n const handleContainerPaste = useEventCallback(event => {\n onPaste?.(event);\n if (readOnly || parsedSelectedSections !== 'all') {\n event.preventDefault();\n return;\n }\n const pastedValue = event.clipboardData.getData('text');\n event.preventDefault();\n resetCharacterQuery();\n updateValueFromValueStr(pastedValue);\n });\n const handleContainerFocus = useEventCallback((...args) => {\n onFocus?.(...args);\n if (focused || !sectionListRef.current) {\n return;\n }\n setFocused(true);\n const isFocusInsideASection = sectionListRef.current.getSectionIndexFromDOMElement(getActiveElement(document)) != null;\n if (!isFocusInsideASection) {\n setSelectedSections(sectionOrder.startIndex);\n }\n });\n const handleContainerBlur = useEventCallback((...args) => {\n onBlur?.(...args);\n setTimeout(() => {\n if (!sectionListRef.current) {\n return;\n }\n const activeElement = getActiveElement(document);\n const shouldBlur = !sectionListRef.current.getRoot().contains(activeElement);\n if (shouldBlur) {\n setFocused(false);\n setSelectedSections(null);\n }\n });\n });\n const getInputContainerClickHandler = useEventCallback(sectionIndex => event => {\n // The click event on the clear button would propagate to the input, trigger this handler and result in a wrong section selection.\n // We avoid this by checking if the call to this function is actually intended, or a side effect.\n if (event.isDefaultPrevented()) {\n return;\n }\n setSelectedSections(sectionIndex);\n });\n const handleInputContentMouseUp = useEventCallback(event => {\n // Without this, the browser will remove the selected when clicking inside an already-selected section.\n event.preventDefault();\n });\n const getInputContentFocusHandler = useEventCallback(sectionIndex => () => {\n setSelectedSections(sectionIndex);\n });\n const handleInputContentPaste = useEventCallback(event => {\n // prevent default to avoid the input `onInput` handler being called\n event.preventDefault();\n if (readOnly || disabled || typeof parsedSelectedSections !== 'number') {\n return;\n }\n const activeSection = state.sections[parsedSelectedSections];\n const pastedValue = event.clipboardData.getData('text');\n const lettersOnly = /^[a-zA-Z]+$/.test(pastedValue);\n const digitsOnly = /^[0-9]+$/.test(pastedValue);\n const digitsAndLetterOnly = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(pastedValue);\n const isValidPastedValue = activeSection.contentType === 'letter' && lettersOnly || activeSection.contentType === 'digit' && digitsOnly || activeSection.contentType === 'digit-with-letter' && digitsAndLetterOnly;\n if (isValidPastedValue) {\n resetCharacterQuery();\n updateSectionValue({\n activeSection,\n newSectionValue: pastedValue,\n shouldGoToNextSection: true\n });\n }\n // If the pasted value corresponds to a single section, but not the expected type, we skip the modification\n else if (!lettersOnly && !digitsOnly) {\n resetCharacterQuery();\n updateValueFromValueStr(pastedValue);\n }\n });\n const handleInputContentDragOver = useEventCallback(event => {\n event.preventDefault();\n event.dataTransfer.dropEffect = 'none';\n });\n const handleInputContentInput = useEventCallback(event => {\n if (!sectionListRef.current) {\n return;\n }\n const target = event.target;\n const keyPressed = target.textContent ?? '';\n const sectionIndex = sectionListRef.current.getSectionIndexFromDOMElement(target);\n const section = state.sections[sectionIndex];\n if (readOnly || !sectionListRef.current) {\n revertDOMSectionChange(sectionIndex);\n return;\n }\n if (keyPressed.length === 0) {\n if (section.value === '') {\n revertDOMSectionChange(sectionIndex);\n return;\n }\n const inputType = event.nativeEvent.inputType;\n if (inputType === 'insertParagraph' || inputType === 'insertLineBreak') {\n revertDOMSectionChange(sectionIndex);\n return;\n }\n resetCharacterQuery();\n clearActiveSection();\n return;\n }\n applyCharacterEditing({\n keyPressed,\n sectionIndex\n });\n\n // The DOM value needs to remain the one React is expecting.\n revertDOMSectionChange(sectionIndex);\n });\n useEnhancedEffect(() => {\n if (!focused || !sectionListRef.current) {\n return;\n }\n if (parsedSelectedSections === 'all') {\n sectionListRef.current.getRoot().focus();\n } else if (typeof parsedSelectedSections === 'number') {\n const domElement = sectionListRef.current.getSectionContent(parsedSelectedSections);\n if (domElement) {\n domElement.focus();\n }\n }\n }, [parsedSelectedSections, focused]);\n const sectionBoundaries = React.useMemo(() => {\n return state.sections.reduce((acc, next) => {\n acc[next.type] = sectionsValueBoundaries[next.type]({\n currentDate: null,\n contentType: next.contentType,\n format: next.format\n });\n return acc;\n }, {});\n }, [sectionsValueBoundaries, state.sections]);\n const isContainerEditable = parsedSelectedSections === 'all';\n const elements = React.useMemo(() => {\n return state.sections.map((section, index) => {\n const isEditable = !isContainerEditable && !disabled && !readOnly;\n return {\n container: {\n 'data-sectionindex': index,\n onClick: getInputContainerClickHandler(index)\n },\n content: {\n tabIndex: isContainerEditable || index > 0 ? -1 : 0,\n contentEditable: !isContainerEditable && !disabled && !readOnly,\n role: 'spinbutton',\n id: `${id}-${section.type}`,\n 'aria-labelledby': `${id}-${section.type}`,\n 'aria-readonly': readOnly,\n 'aria-valuenow': getSectionValueNow(section, utils),\n 'aria-valuemin': sectionBoundaries[section.type].minimum,\n 'aria-valuemax': sectionBoundaries[section.type].maximum,\n 'aria-valuetext': section.value ? getSectionValueText(section, utils) : translations.empty,\n 'aria-label': translations[section.type],\n 'aria-disabled': disabled,\n spellCheck: isEditable ? false : undefined,\n autoCapitalize: isEditable ? 'off' : undefined,\n autoCorrect: isEditable ? 'off' : undefined,\n [parseInt(React.version, 10) >= 17 ? 'enterKeyHint' : 'enterkeyhint']: isEditable ? 'next' : undefined,\n children: section.value || section.placeholder,\n onInput: handleInputContentInput,\n onPaste: handleInputContentPaste,\n onFocus: getInputContentFocusHandler(index),\n onDragOver: handleInputContentDragOver,\n onMouseUp: handleInputContentMouseUp,\n inputMode: section.contentType === 'letter' ? 'text' : 'numeric'\n },\n before: {\n children: section.startSeparator\n },\n after: {\n children: section.endSeparator\n }\n };\n });\n }, [state.sections, getInputContentFocusHandler, handleInputContentPaste, handleInputContentDragOver, handleInputContentInput, getInputContainerClickHandler, handleInputContentMouseUp, disabled, readOnly, isContainerEditable, translations, utils, sectionBoundaries, id]);\n const handleValueStrChange = useEventCallback(event => {\n updateValueFromValueStr(event.target.value);\n });\n const valueStr = React.useMemo(() => areAllSectionsEmpty ? '' : fieldValueManager.getV7HiddenInputValueFromSections(state.sections), [areAllSectionsEmpty, state.sections, fieldValueManager]);\n React.useEffect(() => {\n if (sectionListRef.current == null) {\n throw new Error(['MUI X: The `sectionListRef` prop has not been initialized by `PickersSectionList`', 'You probably tried to pass a component to the `textField` slot that contains an `` element instead of a `PickersSectionList`.', '', 'If you want to keep using an `` HTML element for the editing, please remove the `enableAccessibleFieldDOMStructure` prop from your picker or field component:', '', '', '', 'Learn more about the field accessible DOM structure on the MUI documentation: https://mui.com/x/react-date-pickers/fields/#fields-to-edit-a-single-element'].join('\\n'));\n }\n if (autoFocus && sectionListRef.current) {\n sectionListRef.current.getSectionContent(sectionOrder.startIndex).focus();\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return {\n interactions,\n returnedValue: {\n // Forwarded\n autoFocus,\n readOnly,\n focused: focusedProp ?? focused,\n sectionListRef: handleSectionListRef,\n onBlur: handleContainerBlur,\n onClick: handleContainerClick,\n onFocus: handleContainerFocus,\n onInput: handleContainerInput,\n onPaste: handleContainerPaste,\n // Additional\n enableAccessibleFieldDOMStructure: true,\n elements,\n // TODO v7: Try to set to undefined when there is a section selected.\n tabIndex: parsedSelectedSections === 0 ? -1 : 0,\n contentEditable: isContainerEditable,\n value: valueStr,\n onChange: handleValueStrChange,\n areAllSectionsEmpty\n }\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport useForkRef from '@mui/utils/useForkRef';\nimport { getActiveElement } from '../../utils/utils';\nimport { getSectionVisibleValue, isAndroid } from './useField.utils';\nconst cleanString = dirtyString => dirtyString.replace(/[\\u2066\\u2067\\u2068\\u2069]/g, '');\nexport const addPositionPropertiesToSections = (sections, localizedDigits, isRtl) => {\n let position = 0;\n let positionInInput = isRtl ? 1 : 0;\n const newSections = [];\n for (let i = 0; i < sections.length; i += 1) {\n const section = sections[i];\n const renderedValue = getSectionVisibleValue(section, isRtl ? 'input-rtl' : 'input-ltr', localizedDigits);\n const sectionStr = `${section.startSeparator}${renderedValue}${section.endSeparator}`;\n const sectionLength = cleanString(sectionStr).length;\n const sectionLengthInInput = sectionStr.length;\n\n // The ...InInput values consider the unicode characters but do include them in their indexes\n const cleanedValue = cleanString(renderedValue);\n const startInInput = positionInInput + (cleanedValue === '' ? 0 : renderedValue.indexOf(cleanedValue[0])) + section.startSeparator.length;\n const endInInput = startInInput + cleanedValue.length;\n newSections.push(_extends({}, section, {\n start: position,\n end: position + sectionLength,\n startInInput,\n endInInput\n }));\n position += sectionLength;\n // Move position to the end of string associated to the current section\n positionInInput += sectionLengthInInput;\n }\n return newSections;\n};\nexport const useFieldV6TextField = params => {\n const isRtl = useRtl();\n const focusTimeoutRef = React.useRef();\n const selectionSyncTimeoutRef = React.useRef();\n const {\n forwardedProps: {\n onFocus,\n onClick,\n onPaste,\n onBlur,\n inputRef: inputRefProp,\n placeholder: inPlaceholder\n },\n internalProps: {\n readOnly = false,\n disabled = false\n },\n parsedSelectedSections,\n activeSectionIndex,\n state,\n fieldValueManager,\n valueManager,\n applyCharacterEditing,\n resetCharacterQuery,\n updateSectionValue,\n updateValueFromValueStr,\n clearActiveSection,\n clearValue,\n setTempAndroidValueStr,\n setSelectedSections,\n getSectionsFromValue,\n areAllSectionsEmpty,\n localizedDigits\n } = params;\n const inputRef = React.useRef(null);\n const handleRef = useForkRef(inputRefProp, inputRef);\n const sections = React.useMemo(() => addPositionPropertiesToSections(state.sections, localizedDigits, isRtl), [state.sections, localizedDigits, isRtl]);\n const interactions = React.useMemo(() => ({\n syncSelectionToDOM: () => {\n if (!inputRef.current) {\n return;\n }\n if (parsedSelectedSections == null) {\n if (inputRef.current.scrollLeft) {\n // Ensure that input content is not marked as selected.\n // setting selection range to 0 causes issues in Safari.\n // https://bugs.webkit.org/show_bug.cgi?id=224425\n inputRef.current.scrollLeft = 0;\n }\n return;\n }\n\n // On multi input range pickers we want to update selection range only for the active input\n // This helps to avoid the focus jumping on Safari https://github.com/mui/mui-x/issues/9003\n // because WebKit implements the `setSelectionRange` based on the spec: https://bugs.webkit.org/show_bug.cgi?id=224425\n if (inputRef.current !== getActiveElement(document)) {\n return;\n }\n\n // Fix scroll jumping on iOS browser: https://github.com/mui/mui-x/issues/8321\n const currentScrollTop = inputRef.current.scrollTop;\n if (parsedSelectedSections === 'all') {\n inputRef.current.select();\n } else {\n const selectedSection = sections[parsedSelectedSections];\n const selectionStart = selectedSection.type === 'empty' ? selectedSection.startInInput - selectedSection.startSeparator.length : selectedSection.startInInput;\n const selectionEnd = selectedSection.type === 'empty' ? selectedSection.endInInput + selectedSection.endSeparator.length : selectedSection.endInInput;\n if (selectionStart !== inputRef.current.selectionStart || selectionEnd !== inputRef.current.selectionEnd) {\n if (inputRef.current === getActiveElement(document)) {\n inputRef.current.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n clearTimeout(selectionSyncTimeoutRef.current);\n selectionSyncTimeoutRef.current = setTimeout(() => {\n // handle case when the selection is not updated correctly\n // could happen on Android\n if (inputRef.current && inputRef.current === getActiveElement(document) &&\n // The section might loose all selection, where `selectionStart === selectionEnd`\n // https://github.com/mui/mui-x/pull/13652\n inputRef.current.selectionStart === inputRef.current.selectionEnd && (inputRef.current.selectionStart !== selectionStart || inputRef.current.selectionEnd !== selectionEnd)) {\n interactions.syncSelectionToDOM();\n }\n });\n }\n\n // Even reading this variable seems to do the trick, but also setting it just to make use of it\n inputRef.current.scrollTop = currentScrollTop;\n },\n getActiveSectionIndexFromDOM: () => {\n const browserStartIndex = inputRef.current.selectionStart ?? 0;\n const browserEndIndex = inputRef.current.selectionEnd ?? 0;\n if (browserStartIndex === 0 && browserEndIndex === 0) {\n return null;\n }\n const nextSectionIndex = browserStartIndex <= sections[0].startInInput ? 1 // Special case if browser index is in invisible characters at the beginning.\n : sections.findIndex(section => section.startInInput - section.startSeparator.length > browserStartIndex);\n return nextSectionIndex === -1 ? sections.length - 1 : nextSectionIndex - 1;\n },\n focusField: (newSelectedSection = 0) => {\n inputRef.current?.focus();\n setSelectedSections(newSelectedSection);\n },\n setSelectedSections: newSelectedSections => setSelectedSections(newSelectedSections),\n isFieldFocused: () => inputRef.current === getActiveElement(document)\n }), [inputRef, parsedSelectedSections, sections, setSelectedSections]);\n const syncSelectionFromDOM = () => {\n const browserStartIndex = inputRef.current.selectionStart ?? 0;\n let nextSectionIndex;\n if (browserStartIndex <= sections[0].startInInput) {\n // Special case if browser index is in invisible characters at the beginning\n nextSectionIndex = 1;\n } else if (browserStartIndex >= sections[sections.length - 1].endInInput) {\n // If the click is after the last character of the input, then we want to select the 1st section.\n nextSectionIndex = 1;\n } else {\n nextSectionIndex = sections.findIndex(section => section.startInInput - section.startSeparator.length > browserStartIndex);\n }\n const sectionIndex = nextSectionIndex === -1 ? sections.length - 1 : nextSectionIndex - 1;\n setSelectedSections(sectionIndex);\n };\n const handleInputFocus = useEventCallback((...args) => {\n onFocus?.(...args);\n // The ref is guaranteed to be resolved at this point.\n const input = inputRef.current;\n clearTimeout(focusTimeoutRef.current);\n focusTimeoutRef.current = setTimeout(() => {\n // The ref changed, the component got remounted, the focus event is no longer relevant.\n if (!input || input !== inputRef.current) {\n return;\n }\n if (activeSectionIndex != null) {\n return;\n }\n if (\n // avoid selecting all sections when focusing empty field without value\n input.value.length && Number(input.selectionEnd) - Number(input.selectionStart) === input.value.length) {\n setSelectedSections('all');\n } else {\n syncSelectionFromDOM();\n }\n });\n });\n const handleInputClick = useEventCallback((event, ...args) => {\n // The click event on the clear button would propagate to the input, trigger this handler and result in a wrong section selection.\n // We avoid this by checking if the call of `handleInputClick` is actually intended, or a side effect.\n if (event.isDefaultPrevented()) {\n return;\n }\n onClick?.(event, ...args);\n syncSelectionFromDOM();\n });\n const handleInputPaste = useEventCallback(event => {\n onPaste?.(event);\n\n // prevent default to avoid the input `onChange` handler being called\n event.preventDefault();\n if (readOnly || disabled) {\n return;\n }\n const pastedValue = event.clipboardData.getData('text');\n if (typeof parsedSelectedSections === 'number') {\n const activeSection = state.sections[parsedSelectedSections];\n const lettersOnly = /^[a-zA-Z]+$/.test(pastedValue);\n const digitsOnly = /^[0-9]+$/.test(pastedValue);\n const digitsAndLetterOnly = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(pastedValue);\n const isValidPastedValue = activeSection.contentType === 'letter' && lettersOnly || activeSection.contentType === 'digit' && digitsOnly || activeSection.contentType === 'digit-with-letter' && digitsAndLetterOnly;\n if (isValidPastedValue) {\n resetCharacterQuery();\n updateSectionValue({\n activeSection,\n newSectionValue: pastedValue,\n shouldGoToNextSection: true\n });\n return;\n }\n if (lettersOnly || digitsOnly) {\n // The pasted value corresponds to a single section, but not the expected type,\n // skip the modification\n return;\n }\n }\n resetCharacterQuery();\n updateValueFromValueStr(pastedValue);\n });\n const handleContainerBlur = useEventCallback((...args) => {\n onBlur?.(...args);\n setSelectedSections(null);\n });\n const handleInputChange = useEventCallback(event => {\n if (readOnly) {\n return;\n }\n const targetValue = event.target.value;\n if (targetValue === '') {\n resetCharacterQuery();\n clearValue();\n return;\n }\n const eventData = event.nativeEvent.data;\n // Calling `.fill(04/11/2022)` in playwright will trigger a change event with the requested content to insert in `event.nativeEvent.data`\n // usual changes have only the currently typed character in the `event.nativeEvent.data`\n const shouldUseEventData = eventData && eventData.length > 1;\n const valueStr = shouldUseEventData ? eventData : targetValue;\n const cleanValueStr = cleanString(valueStr);\n\n // If no section is selected or eventData should be used, we just try to parse the new value\n // This line is mostly triggered by imperative code / application tests.\n if (activeSectionIndex == null || shouldUseEventData) {\n updateValueFromValueStr(shouldUseEventData ? eventData : cleanValueStr);\n return;\n }\n let keyPressed;\n if (parsedSelectedSections === 'all' && cleanValueStr.length === 1) {\n keyPressed = cleanValueStr;\n } else {\n const prevValueStr = cleanString(fieldValueManager.getV6InputValueFromSections(sections, localizedDigits, isRtl));\n let startOfDiffIndex = -1;\n let endOfDiffIndex = -1;\n for (let i = 0; i < prevValueStr.length; i += 1) {\n if (startOfDiffIndex === -1 && prevValueStr[i] !== cleanValueStr[i]) {\n startOfDiffIndex = i;\n }\n if (endOfDiffIndex === -1 && prevValueStr[prevValueStr.length - i - 1] !== cleanValueStr[cleanValueStr.length - i - 1]) {\n endOfDiffIndex = i;\n }\n }\n const activeSection = sections[activeSectionIndex];\n const hasDiffOutsideOfActiveSection = startOfDiffIndex < activeSection.start || prevValueStr.length - endOfDiffIndex - 1 > activeSection.end;\n if (hasDiffOutsideOfActiveSection) {\n // TODO: Support if the new date is valid\n return;\n }\n\n // The active section being selected, the browser has replaced its value with the key pressed by the user.\n const activeSectionEndRelativeToNewValue = cleanValueStr.length - prevValueStr.length + activeSection.end - cleanString(activeSection.endSeparator || '').length;\n keyPressed = cleanValueStr.slice(activeSection.start + cleanString(activeSection.startSeparator || '').length, activeSectionEndRelativeToNewValue);\n }\n if (keyPressed.length === 0) {\n if (isAndroid()) {\n setTempAndroidValueStr(valueStr);\n }\n resetCharacterQuery();\n clearActiveSection();\n return;\n }\n applyCharacterEditing({\n keyPressed,\n sectionIndex: activeSectionIndex\n });\n });\n const placeholder = React.useMemo(() => {\n if (inPlaceholder !== undefined) {\n return inPlaceholder;\n }\n return fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRtl);\n }, [inPlaceholder, fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRtl]);\n const valueStr = React.useMemo(() => state.tempValueStrAndroid ?? fieldValueManager.getV6InputValueFromSections(state.sections, localizedDigits, isRtl), [state.sections, fieldValueManager, state.tempValueStrAndroid, localizedDigits, isRtl]);\n React.useEffect(() => {\n // Select all the sections when focused on mount (`autoFocus = true` on the input)\n if (inputRef.current && inputRef.current === getActiveElement(document)) {\n setSelectedSections('all');\n }\n return () => {\n clearTimeout(focusTimeoutRef.current);\n clearTimeout(selectionSyncTimeoutRef.current);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const inputMode = React.useMemo(() => {\n if (activeSectionIndex == null) {\n return 'text';\n }\n if (state.sections[activeSectionIndex].contentType === 'letter') {\n return 'text';\n }\n return 'numeric';\n }, [activeSectionIndex, state.sections]);\n const inputHasFocus = inputRef.current && inputRef.current === getActiveElement(document);\n const shouldShowPlaceholder = !inputHasFocus && areAllSectionsEmpty;\n return {\n interactions,\n returnedValue: {\n // Forwarded\n readOnly,\n onBlur: handleContainerBlur,\n onClick: handleInputClick,\n onFocus: handleInputFocus,\n onPaste: handleInputPaste,\n inputRef: handleRef,\n // Additional\n enableAccessibleFieldDOMStructure: false,\n placeholder,\n inputMode,\n autoComplete: 'off',\n value: shouldShowPlaceholder ? '' : valueStr,\n onChange: handleInputChange\n }\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { useValidation } from '../useValidation';\nimport { useUtils } from '../useUtils';\nimport { adjustSectionValue, getSectionOrder } from './useField.utils';\nimport { useFieldState } from './useFieldState';\nimport { useFieldCharacterEditing } from './useFieldCharacterEditing';\nimport { useFieldV7TextField } from './useFieldV7TextField';\nimport { useFieldV6TextField } from './useFieldV6TextField';\nexport const useField = params => {\n const utils = useUtils();\n const {\n internalProps,\n internalProps: {\n unstableFieldRef,\n minutesStep,\n enableAccessibleFieldDOMStructure = false,\n disabled = false,\n readOnly = false\n },\n forwardedProps: {\n onKeyDown,\n error,\n clearable,\n onClear\n },\n fieldValueManager,\n valueManager,\n validator\n } = params;\n const isRtl = useRtl();\n const stateResponse = useFieldState(params);\n const {\n state,\n activeSectionIndex,\n parsedSelectedSections,\n setSelectedSections,\n clearValue,\n clearActiveSection,\n updateSectionValue,\n setTempAndroidValueStr,\n sectionsValueBoundaries,\n localizedDigits,\n timezone\n } = stateResponse;\n const characterEditingResponse = useFieldCharacterEditing({\n sections: state.sections,\n updateSectionValue,\n sectionsValueBoundaries,\n localizedDigits,\n setTempAndroidValueStr,\n timezone\n });\n const {\n resetCharacterQuery\n } = characterEditingResponse;\n const areAllSectionsEmpty = valueManager.areValuesEqual(utils, state.value, valueManager.emptyValue);\n const useFieldTextField = enableAccessibleFieldDOMStructure ? useFieldV7TextField : useFieldV6TextField;\n const sectionOrder = React.useMemo(() => getSectionOrder(state.sections, isRtl && !enableAccessibleFieldDOMStructure), [state.sections, isRtl, enableAccessibleFieldDOMStructure]);\n const {\n returnedValue,\n interactions\n } = useFieldTextField(_extends({}, params, stateResponse, characterEditingResponse, {\n areAllSectionsEmpty,\n sectionOrder\n }));\n const handleContainerKeyDown = useEventCallback(event => {\n onKeyDown?.(event);\n if (disabled) {\n return;\n }\n // eslint-disable-next-line default-case\n switch (true) {\n // Select all\n case (event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'a' && !event.shiftKey && !event.altKey:\n {\n // prevent default to make sure that the next line \"select all\" while updating\n // the internal state at the same time.\n event.preventDefault();\n setSelectedSections('all');\n break;\n }\n\n // Move selection to next section\n case event.key === 'ArrowRight':\n {\n event.preventDefault();\n if (parsedSelectedSections == null) {\n setSelectedSections(sectionOrder.startIndex);\n } else if (parsedSelectedSections === 'all') {\n setSelectedSections(sectionOrder.endIndex);\n } else {\n const nextSectionIndex = sectionOrder.neighbors[parsedSelectedSections].rightIndex;\n if (nextSectionIndex !== null) {\n setSelectedSections(nextSectionIndex);\n }\n }\n break;\n }\n\n // Move selection to previous section\n case event.key === 'ArrowLeft':\n {\n event.preventDefault();\n if (parsedSelectedSections == null) {\n setSelectedSections(sectionOrder.endIndex);\n } else if (parsedSelectedSections === 'all') {\n setSelectedSections(sectionOrder.startIndex);\n } else {\n const nextSectionIndex = sectionOrder.neighbors[parsedSelectedSections].leftIndex;\n if (nextSectionIndex !== null) {\n setSelectedSections(nextSectionIndex);\n }\n }\n break;\n }\n\n // Reset the value of the selected section\n case event.key === 'Delete':\n {\n event.preventDefault();\n if (readOnly) {\n break;\n }\n if (parsedSelectedSections == null || parsedSelectedSections === 'all') {\n clearValue();\n } else {\n clearActiveSection();\n }\n resetCharacterQuery();\n break;\n }\n\n // Increment / decrement the selected section value\n case ['ArrowUp', 'ArrowDown', 'Home', 'End', 'PageUp', 'PageDown'].includes(event.key):\n {\n event.preventDefault();\n if (readOnly || activeSectionIndex == null) {\n break;\n }\n const activeSection = state.sections[activeSectionIndex];\n const activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);\n const newSectionValue = adjustSectionValue(utils, timezone, activeSection, event.key, sectionsValueBoundaries, localizedDigits, activeDateManager.date, {\n minutesStep\n });\n updateSectionValue({\n activeSection,\n newSectionValue,\n shouldGoToNextSection: false\n });\n break;\n }\n }\n });\n useEnhancedEffect(() => {\n interactions.syncSelectionToDOM();\n });\n const validationError = useValidation(_extends({}, internalProps, {\n value: state.value,\n timezone\n }), validator, valueManager.isSameError, valueManager.defaultErrorState);\n const inputError = React.useMemo(() => {\n // only override when `error` is undefined.\n // in case of multi input fields, the `error` value is provided externally and will always be defined.\n if (error !== undefined) {\n return error;\n }\n return valueManager.hasError(validationError);\n }, [valueManager, validationError, error]);\n React.useEffect(() => {\n if (!inputError && activeSectionIndex == null) {\n resetCharacterQuery();\n }\n }, [state.referenceValue, activeSectionIndex, inputError]); // eslint-disable-line react-hooks/exhaustive-deps\n\n // If `tempValueStrAndroid` is still defined for some section when running `useEffect`,\n // Then `onChange` has only been called once, which means the user pressed `Backspace` to reset the section.\n // This causes a small flickering on Android,\n // But we can't use `useEnhancedEffect` which is always called before the second `onChange` call and then would cause false positives.\n React.useEffect(() => {\n if (state.tempValueStrAndroid != null && activeSectionIndex != null) {\n resetCharacterQuery();\n clearActiveSection();\n }\n }, [state.sections]); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useImperativeHandle(unstableFieldRef, () => ({\n getSections: () => state.sections,\n getActiveSectionIndex: interactions.getActiveSectionIndexFromDOM,\n setSelectedSections: interactions.setSelectedSections,\n focusField: interactions.focusField,\n isFieldFocused: interactions.isFieldFocused\n }));\n const handleClearValue = useEventCallback((event, ...args) => {\n event.preventDefault();\n onClear?.(event, ...args);\n clearValue();\n if (!interactions.isFieldFocused()) {\n // setSelectedSections is called internally\n interactions.focusField(0);\n } else {\n setSelectedSections(sectionOrder.startIndex);\n }\n });\n const commonForwardedProps = {\n onKeyDown: handleContainerKeyDown,\n onClear: handleClearValue,\n error: inputError,\n clearable: Boolean(clearable && !areAllSectionsEmpty && !readOnly && !disabled)\n };\n const commonAdditionalProps = {\n disabled,\n readOnly\n };\n return _extends({}, params.forwardedProps, commonForwardedProps, commonAdditionalProps, returnedValue);\n};","import { getMonthsInYear } from '../../utils/date-utils';\nexport const getDateSectionConfigFromFormatToken = (utils, formatToken) => {\n const config = utils.formatTokenMap[formatToken];\n if (config == null) {\n throw new Error([`MUI X: The token \"${formatToken}\" is not supported by the Date and Time Pickers.`, 'Please try using another token or open an issue on https://github.com/mui/mui-x/issues/new/choose if you think it should be supported.'].join('\\n'));\n }\n if (typeof config === 'string') {\n return {\n type: config,\n contentType: config === 'meridiem' ? 'letter' : 'digit',\n maxLength: undefined\n };\n }\n return {\n type: config.sectionType,\n contentType: config.contentType,\n maxLength: config.maxLength\n };\n};\nconst getDeltaFromKeyCode = keyCode => {\n switch (keyCode) {\n case 'ArrowUp':\n return 1;\n case 'ArrowDown':\n return -1;\n case 'PageUp':\n return 5;\n case 'PageDown':\n return -5;\n default:\n return 0;\n }\n};\nexport const getDaysInWeekStr = (utils, timezone, format) => {\n const elements = [];\n const now = utils.date(undefined, timezone);\n const startDate = utils.startOfWeek(now);\n const endDate = utils.endOfWeek(now);\n let current = startDate;\n while (utils.isBefore(current, endDate)) {\n elements.push(current);\n current = utils.addDays(current, 1);\n }\n return elements.map(weekDay => utils.formatByString(weekDay, format));\n};\nexport const getLetterEditingOptions = (utils, timezone, sectionType, format) => {\n switch (sectionType) {\n case 'month':\n {\n return getMonthsInYear(utils, utils.date(undefined, timezone)).map(month => utils.formatByString(month, format));\n }\n case 'weekDay':\n {\n return getDaysInWeekStr(utils, timezone, format);\n }\n case 'meridiem':\n {\n const now = utils.date(undefined, timezone);\n return [utils.startOfDay(now), utils.endOfDay(now)].map(date => utils.formatByString(date, format));\n }\n default:\n {\n return [];\n }\n }\n};\n\n// This format should be the same on all the adapters\n// If some adapter does not respect this convention, then we will need to hardcode the format on each adapter.\nexport const FORMAT_SECONDS_NO_LEADING_ZEROS = 's';\nconst NON_LOCALIZED_DIGITS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\nexport const getLocalizedDigits = utils => {\n const today = utils.date(undefined);\n const formattedZero = utils.formatByString(utils.setSeconds(today, 0), FORMAT_SECONDS_NO_LEADING_ZEROS);\n if (formattedZero === '0') {\n return NON_LOCALIZED_DIGITS;\n }\n return Array.from({\n length: 10\n }).map((_, index) => utils.formatByString(utils.setSeconds(today, index), FORMAT_SECONDS_NO_LEADING_ZEROS));\n};\nexport const removeLocalizedDigits = (valueStr, localizedDigits) => {\n if (localizedDigits[0] === '0') {\n return valueStr;\n }\n const digits = [];\n let currentFormattedDigit = '';\n for (let i = 0; i < valueStr.length; i += 1) {\n currentFormattedDigit += valueStr[i];\n const matchingDigitIndex = localizedDigits.indexOf(currentFormattedDigit);\n if (matchingDigitIndex > -1) {\n digits.push(matchingDigitIndex.toString());\n currentFormattedDigit = '';\n }\n }\n return digits.join('');\n};\nexport const applyLocalizedDigits = (valueStr, localizedDigits) => {\n if (localizedDigits[0] === '0') {\n return valueStr;\n }\n return valueStr.split('').map(char => localizedDigits[Number(char)]).join('');\n};\nexport const isStringNumber = (valueStr, localizedDigits) => {\n const nonLocalizedValueStr = removeLocalizedDigits(valueStr, localizedDigits);\n // `Number(' ')` returns `0` even if ' ' is not a valid number.\n return nonLocalizedValueStr !== ' ' && !Number.isNaN(Number(nonLocalizedValueStr));\n};\n\n/**\n * Remove the leading zeroes to a digit section value.\n * E.g.: `03` => `3`\n * Warning: Should only be called with non-localized digits. Call `removeLocalizedDigits` with your value if needed.\n */\nexport const cleanLeadingZeros = (valueStr, size) => {\n let cleanValueStr = valueStr;\n\n // Remove the leading zeros\n cleanValueStr = Number(cleanValueStr).toString();\n\n // Add enough leading zeros to fill the section\n while (cleanValueStr.length < size) {\n cleanValueStr = `0${cleanValueStr}`;\n }\n return cleanValueStr;\n};\nexport const cleanDigitSectionValue = (utils, value, sectionBoundaries, localizedDigits, section) => {\n if (process.env.NODE_ENV !== 'production') {\n if (section.type !== 'day' && section.contentType === 'digit-with-letter') {\n throw new Error([`MUI X: The token \"${section.format}\" is a digit format with letter in it.'\n This type of format is only supported for 'day' sections`].join('\\n'));\n }\n }\n if (section.type === 'day' && section.contentType === 'digit-with-letter') {\n const date = utils.setDate(sectionBoundaries.longestMonth, value);\n return utils.formatByString(date, section.format);\n }\n\n // queryValue without leading `0` (`01` => `1`)\n let valueStr = value.toString();\n if (section.hasLeadingZerosInInput) {\n valueStr = cleanLeadingZeros(valueStr, section.maxLength);\n }\n return applyLocalizedDigits(valueStr, localizedDigits);\n};\nexport const adjustSectionValue = (utils, timezone, section, keyCode, sectionsValueBoundaries, localizedDigits, activeDate, stepsAttributes) => {\n const delta = getDeltaFromKeyCode(keyCode);\n const isStart = keyCode === 'Home';\n const isEnd = keyCode === 'End';\n const shouldSetAbsolute = section.value === '' || isStart || isEnd;\n const adjustDigitSection = () => {\n const sectionBoundaries = sectionsValueBoundaries[section.type]({\n currentDate: activeDate,\n format: section.format,\n contentType: section.contentType\n });\n const getCleanValue = value => cleanDigitSectionValue(utils, value, sectionBoundaries, localizedDigits, section);\n const step = section.type === 'minutes' && stepsAttributes?.minutesStep ? stepsAttributes.minutesStep : 1;\n const currentSectionValue = parseInt(removeLocalizedDigits(section.value, localizedDigits), 10);\n let newSectionValueNumber = currentSectionValue + delta * step;\n if (shouldSetAbsolute) {\n if (section.type === 'year' && !isEnd && !isStart) {\n return utils.formatByString(utils.date(undefined, timezone), section.format);\n }\n if (delta > 0 || isStart) {\n newSectionValueNumber = sectionBoundaries.minimum;\n } else {\n newSectionValueNumber = sectionBoundaries.maximum;\n }\n }\n if (newSectionValueNumber % step !== 0) {\n if (delta < 0 || isStart) {\n newSectionValueNumber += step - (step + newSectionValueNumber) % step; // for JS -3 % 5 = -3 (should be 2)\n }\n if (delta > 0 || isEnd) {\n newSectionValueNumber -= newSectionValueNumber % step;\n }\n }\n if (newSectionValueNumber > sectionBoundaries.maximum) {\n return getCleanValue(sectionBoundaries.minimum + (newSectionValueNumber - sectionBoundaries.maximum - 1) % (sectionBoundaries.maximum - sectionBoundaries.minimum + 1));\n }\n if (newSectionValueNumber < sectionBoundaries.minimum) {\n return getCleanValue(sectionBoundaries.maximum - (sectionBoundaries.minimum - newSectionValueNumber - 1) % (sectionBoundaries.maximum - sectionBoundaries.minimum + 1));\n }\n return getCleanValue(newSectionValueNumber);\n };\n const adjustLetterSection = () => {\n const options = getLetterEditingOptions(utils, timezone, section.type, section.format);\n if (options.length === 0) {\n return section.value;\n }\n if (shouldSetAbsolute) {\n if (delta > 0 || isStart) {\n return options[0];\n }\n return options[options.length - 1];\n }\n const currentOptionIndex = options.indexOf(section.value);\n const newOptionIndex = (currentOptionIndex + delta) % options.length;\n const clampedIndex = (newOptionIndex + options.length) % options.length;\n return options[clampedIndex];\n };\n if (section.contentType === 'digit' || section.contentType === 'digit-with-letter') {\n return adjustDigitSection();\n }\n return adjustLetterSection();\n};\nexport const getSectionVisibleValue = (section, target, localizedDigits) => {\n let value = section.value || section.placeholder;\n const hasLeadingZeros = target === 'non-input' ? section.hasLeadingZerosInFormat : section.hasLeadingZerosInInput;\n if (target === 'non-input' && section.hasLeadingZerosInInput && !section.hasLeadingZerosInFormat) {\n value = Number(removeLocalizedDigits(value, localizedDigits)).toString();\n }\n\n // In the input, we add an empty character at the end of each section without leading zeros.\n // This makes sure that `onChange` will always be fired.\n // Otherwise, when your input value equals `1/dd/yyyy` (format `M/DD/YYYY` on DayJs),\n // If you press `1`, on the first section, the new value is also `1/dd/yyyy`,\n // So the browser will not fire the input `onChange`.\n const shouldAddInvisibleSpace = ['input-rtl', 'input-ltr'].includes(target) && section.contentType === 'digit' && !hasLeadingZeros && value.length === 1;\n if (shouldAddInvisibleSpace) {\n value = `${value}\\u200e`;\n }\n if (target === 'input-rtl') {\n value = `\\u2068${value}\\u2069`;\n }\n return value;\n};\nexport const changeSectionValueFormat = (utils, valueStr, currentFormat, newFormat) => {\n if (process.env.NODE_ENV !== 'production') {\n if (getDateSectionConfigFromFormatToken(utils, currentFormat).type === 'weekDay') {\n throw new Error(\"changeSectionValueFormat doesn't support week day formats\");\n }\n }\n return utils.formatByString(utils.parse(valueStr, currentFormat), newFormat);\n};\nconst isFourDigitYearFormat = (utils, timezone, format) => utils.formatByString(utils.date(undefined, timezone), format).length === 4;\nexport const doesSectionFormatHaveLeadingZeros = (utils, timezone, contentType, sectionType, format) => {\n if (contentType !== 'digit') {\n return false;\n }\n const now = utils.date(undefined, timezone);\n switch (sectionType) {\n // We can't use `changeSectionValueFormat`, because `utils.parse('1', 'YYYY')` returns `1971` instead of `1`.\n case 'year':\n {\n if (isFourDigitYearFormat(utils, timezone, format)) {\n const formatted0001 = utils.formatByString(utils.setYear(now, 1), format);\n return formatted0001 === '0001';\n }\n const formatted2001 = utils.formatByString(utils.setYear(now, 2001), format);\n return formatted2001 === '01';\n }\n case 'month':\n {\n return utils.formatByString(utils.startOfYear(now), format).length > 1;\n }\n case 'day':\n {\n return utils.formatByString(utils.startOfMonth(now), format).length > 1;\n }\n case 'weekDay':\n {\n return utils.formatByString(utils.startOfWeek(now), format).length > 1;\n }\n case 'hours':\n {\n return utils.formatByString(utils.setHours(now, 1), format).length > 1;\n }\n case 'minutes':\n {\n return utils.formatByString(utils.setMinutes(now, 1), format).length > 1;\n }\n case 'seconds':\n {\n return utils.formatByString(utils.setSeconds(now, 1), format).length > 1;\n }\n default:\n {\n throw new Error('Invalid section type');\n }\n }\n};\n\n/**\n * Some date libraries like `dayjs` don't support parsing from date with escaped characters.\n * To make sure that the parsing works, we are building a format and a date without any separator.\n */\nexport const getDateFromDateSections = (utils, sections, localizedDigits) => {\n // If we have both a day and a weekDay section,\n // Then we skip the weekDay in the parsing because libraries like dayjs can't parse complicated formats containing a weekDay.\n // dayjs(dayjs().format('dddd MMMM D YYYY'), 'dddd MMMM D YYYY')) // returns `Invalid Date` even if the format is valid.\n const shouldSkipWeekDays = sections.some(section => section.type === 'day');\n const sectionFormats = [];\n const sectionValues = [];\n for (let i = 0; i < sections.length; i += 1) {\n const section = sections[i];\n const shouldSkip = shouldSkipWeekDays && section.type === 'weekDay';\n if (!shouldSkip) {\n sectionFormats.push(section.format);\n sectionValues.push(getSectionVisibleValue(section, 'non-input', localizedDigits));\n }\n }\n const formatWithoutSeparator = sectionFormats.join(' ');\n const dateWithoutSeparatorStr = sectionValues.join(' ');\n return utils.parse(dateWithoutSeparatorStr, formatWithoutSeparator);\n};\nexport const createDateStrForV7HiddenInputFromSections = sections => sections.map(section => {\n return `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`;\n}).join('');\nexport const createDateStrForV6InputFromSections = (sections, localizedDigits, isRtl) => {\n const formattedSections = sections.map(section => {\n const dateValue = getSectionVisibleValue(section, isRtl ? 'input-rtl' : 'input-ltr', localizedDigits);\n return `${section.startSeparator}${dateValue}${section.endSeparator}`;\n });\n const dateStr = formattedSections.join('');\n if (!isRtl) {\n return dateStr;\n }\n\n // \\u2066: start left-to-right isolation\n // \\u2067: start right-to-left isolation\n // \\u2068: start first strong character isolation\n // \\u2069: pop isolation\n // wrap into an isolated group such that separators can split the string in smaller ones by adding \\u2069\\u2068\n return `\\u2066${dateStr}\\u2069`;\n};\nexport const getSectionsBoundaries = (utils, localizedDigits, timezone) => {\n const today = utils.date(undefined, timezone);\n const endOfYear = utils.endOfYear(today);\n const endOfDay = utils.endOfDay(today);\n const {\n maxDaysInMonth,\n longestMonth\n } = getMonthsInYear(utils, today).reduce((acc, month) => {\n const daysInMonth = utils.getDaysInMonth(month);\n if (daysInMonth > acc.maxDaysInMonth) {\n return {\n maxDaysInMonth: daysInMonth,\n longestMonth: month\n };\n }\n return acc;\n }, {\n maxDaysInMonth: 0,\n longestMonth: null\n });\n return {\n year: ({\n format\n }) => ({\n minimum: 0,\n maximum: isFourDigitYearFormat(utils, timezone, format) ? 9999 : 99\n }),\n month: () => ({\n minimum: 1,\n // Assumption: All years have the same amount of months\n maximum: utils.getMonth(endOfYear) + 1\n }),\n day: ({\n currentDate\n }) => ({\n minimum: 1,\n maximum: currentDate != null && utils.isValid(currentDate) ? utils.getDaysInMonth(currentDate) : maxDaysInMonth,\n longestMonth: longestMonth\n }),\n weekDay: ({\n format,\n contentType\n }) => {\n if (contentType === 'digit') {\n const daysInWeek = getDaysInWeekStr(utils, timezone, format).map(Number);\n return {\n minimum: Math.min(...daysInWeek),\n maximum: Math.max(...daysInWeek)\n };\n }\n return {\n minimum: 1,\n maximum: 7\n };\n },\n hours: ({\n format\n }) => {\n const lastHourInDay = utils.getHours(endOfDay);\n const hasMeridiem = removeLocalizedDigits(utils.formatByString(utils.endOfDay(today), format), localizedDigits) !== lastHourInDay.toString();\n if (hasMeridiem) {\n return {\n minimum: 1,\n maximum: Number(removeLocalizedDigits(utils.formatByString(utils.startOfDay(today), format), localizedDigits))\n };\n }\n return {\n minimum: 0,\n maximum: lastHourInDay\n };\n },\n minutes: () => ({\n minimum: 0,\n // Assumption: All years have the same amount of minutes\n maximum: utils.getMinutes(endOfDay)\n }),\n seconds: () => ({\n minimum: 0,\n // Assumption: All years have the same amount of seconds\n maximum: utils.getSeconds(endOfDay)\n }),\n meridiem: () => ({\n minimum: 0,\n maximum: 1\n }),\n empty: () => ({\n minimum: 0,\n maximum: 0\n })\n };\n};\nlet warnedOnceInvalidSection = false;\nexport const validateSections = (sections, valueType) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnceInvalidSection) {\n const supportedSections = ['empty'];\n if (['date', 'date-time'].includes(valueType)) {\n supportedSections.push('weekDay', 'day', 'month', 'year');\n }\n if (['time', 'date-time'].includes(valueType)) {\n supportedSections.push('hours', 'minutes', 'seconds', 'meridiem');\n }\n const invalidSection = sections.find(section => !supportedSections.includes(section.type));\n if (invalidSection) {\n console.warn(`MUI X: The field component you are using is not compatible with the \"${invalidSection.type}\" date section.`, `The supported date sections are [\"${supportedSections.join('\", \"')}\"]\\`.`);\n warnedOnceInvalidSection = true;\n }\n }\n }\n};\nconst transferDateSectionValue = (utils, timezone, section, dateToTransferFrom, dateToTransferTo) => {\n switch (section.type) {\n case 'year':\n {\n return utils.setYear(dateToTransferTo, utils.getYear(dateToTransferFrom));\n }\n case 'month':\n {\n return utils.setMonth(dateToTransferTo, utils.getMonth(dateToTransferFrom));\n }\n case 'weekDay':\n {\n const formattedDaysInWeek = getDaysInWeekStr(utils, timezone, section.format);\n const dayInWeekStrOfActiveDate = utils.formatByString(dateToTransferFrom, section.format);\n const dayInWeekOfActiveDate = formattedDaysInWeek.indexOf(dayInWeekStrOfActiveDate);\n const dayInWeekOfNewSectionValue = formattedDaysInWeek.indexOf(section.value);\n const diff = dayInWeekOfNewSectionValue - dayInWeekOfActiveDate;\n return utils.addDays(dateToTransferFrom, diff);\n }\n case 'day':\n {\n return utils.setDate(dateToTransferTo, utils.getDate(dateToTransferFrom));\n }\n case 'meridiem':\n {\n const isAM = utils.getHours(dateToTransferFrom) < 12;\n const mergedDateHours = utils.getHours(dateToTransferTo);\n if (isAM && mergedDateHours >= 12) {\n return utils.addHours(dateToTransferTo, -12);\n }\n if (!isAM && mergedDateHours < 12) {\n return utils.addHours(dateToTransferTo, 12);\n }\n return dateToTransferTo;\n }\n case 'hours':\n {\n return utils.setHours(dateToTransferTo, utils.getHours(dateToTransferFrom));\n }\n case 'minutes':\n {\n return utils.setMinutes(dateToTransferTo, utils.getMinutes(dateToTransferFrom));\n }\n case 'seconds':\n {\n return utils.setSeconds(dateToTransferTo, utils.getSeconds(dateToTransferFrom));\n }\n default:\n {\n return dateToTransferTo;\n }\n }\n};\nconst reliableSectionModificationOrder = {\n year: 1,\n month: 2,\n day: 3,\n weekDay: 4,\n hours: 5,\n minutes: 6,\n seconds: 7,\n meridiem: 8,\n empty: 9\n};\nexport const mergeDateIntoReferenceDate = (utils, timezone, dateToTransferFrom, sections, referenceDate, shouldLimitToEditedSections) =>\n// cloning sections before sort to avoid mutating it\n[...sections].sort((a, b) => reliableSectionModificationOrder[a.type] - reliableSectionModificationOrder[b.type]).reduce((mergedDate, section) => {\n if (!shouldLimitToEditedSections || section.modified) {\n return transferDateSectionValue(utils, timezone, section, dateToTransferFrom, mergedDate);\n }\n return mergedDate;\n}, referenceDate);\nexport const isAndroid = () => navigator.userAgent.toLowerCase().includes('android');\n\n// TODO v8: Remove if we drop the v6 TextField approach.\nexport const getSectionOrder = (sections, shouldApplyRTL) => {\n const neighbors = {};\n if (!shouldApplyRTL) {\n sections.forEach((_, index) => {\n const leftIndex = index === 0 ? null : index - 1;\n const rightIndex = index === sections.length - 1 ? null : index + 1;\n neighbors[index] = {\n leftIndex,\n rightIndex\n };\n });\n return {\n neighbors,\n startIndex: 0,\n endIndex: sections.length - 1\n };\n }\n const rtl2ltr = {};\n const ltr2rtl = {};\n let groupedSectionsStart = 0;\n let groupedSectionsEnd = 0;\n let RTLIndex = sections.length - 1;\n while (RTLIndex >= 0) {\n groupedSectionsEnd = sections.findIndex(\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n (section, index) => index >= groupedSectionsStart && section.endSeparator?.includes(' ') &&\n // Special case where the spaces were not there in the initial input\n section.endSeparator !== ' / ');\n if (groupedSectionsEnd === -1) {\n groupedSectionsEnd = sections.length - 1;\n }\n for (let i = groupedSectionsEnd; i >= groupedSectionsStart; i -= 1) {\n ltr2rtl[i] = RTLIndex;\n rtl2ltr[RTLIndex] = i;\n RTLIndex -= 1;\n }\n groupedSectionsStart = groupedSectionsEnd + 1;\n }\n sections.forEach((_, index) => {\n const rtlIndex = ltr2rtl[index];\n const leftIndex = rtlIndex === 0 ? null : rtl2ltr[rtlIndex - 1];\n const rightIndex = rtlIndex === sections.length - 1 ? null : rtl2ltr[rtlIndex + 1];\n neighbors[index] = {\n leftIndex,\n rightIndex\n };\n });\n return {\n neighbors,\n startIndex: rtl2ltr[0],\n endIndex: rtl2ltr[sections.length - 1]\n };\n};\nexport const parseSelectedSections = (selectedSections, sections) => {\n if (selectedSections == null) {\n return null;\n }\n if (selectedSections === 'all') {\n return 'all';\n }\n if (typeof selectedSections === 'string') {\n return sections.findIndex(section => section.type === selectedSections);\n }\n return selectedSections;\n};\nexport const getSectionValueText = (section, utils) => {\n if (!section.value) {\n return undefined;\n }\n switch (section.type) {\n case 'month':\n {\n if (section.contentType === 'digit') {\n return utils.format(utils.setMonth(utils.date(), Number(section.value) - 1), 'month');\n }\n const parsedDate = utils.parse(section.value, section.format);\n return parsedDate ? utils.format(parsedDate, 'month') : undefined;\n }\n case 'day':\n return section.contentType === 'digit' ? utils.format(utils.setDate(utils.startOfYear(utils.date()), Number(section.value)), 'dayOfMonthFull') : section.value;\n case 'weekDay':\n // TODO: improve by providing the label of the week day\n return undefined;\n default:\n return undefined;\n }\n};\nexport const getSectionValueNow = (section, utils) => {\n if (!section.value) {\n return undefined;\n }\n switch (section.type) {\n case 'weekDay':\n {\n if (section.contentType === 'letter') {\n // TODO: improve by resolving the week day number from a letter week day\n return undefined;\n }\n return Number(section.value);\n }\n case 'meridiem':\n {\n const parsedDate = utils.parse(`01:00 ${section.value}`, `${utils.formats.hours12h}:${utils.formats.minutes} ${section.format}`);\n if (parsedDate) {\n return utils.getHours(parsedDate) >= 12 ? 1 : 0;\n }\n return undefined;\n }\n case 'day':\n return section.contentType === 'digit-with-letter' ? parseInt(section.value, 10) : Number(section.value);\n case 'month':\n {\n if (section.contentType === 'digit') {\n return Number(section.value);\n }\n const parsedDate = utils.parse(section.value, section.format);\n return parsedDate ? utils.getMonth(parsedDate) + 1 : undefined;\n }\n default:\n return section.contentType !== 'letter' ? Number(section.value) : undefined;\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport DialogContent from '@mui/material/DialogContent';\nimport Fade from '@mui/material/Fade';\nimport MuiDialog, { dialogClasses } from '@mui/material/Dialog';\nimport { styled } from '@mui/material/styles';\nimport { DIALOG_WIDTH } from '../constants/dimensions';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PickersModalDialogRoot = styled(MuiDialog)({\n [`& .${dialogClasses.container}`]: {\n outline: 0\n },\n [`& .${dialogClasses.paper}`]: {\n outline: 0,\n minWidth: DIALOG_WIDTH\n }\n});\nconst PickersModalDialogContent = styled(DialogContent)({\n '&:first-of-type': {\n padding: 0\n }\n});\nexport function PickersModalDialog(props) {\n const {\n children,\n onDismiss,\n open,\n slots,\n slotProps\n } = props;\n const Dialog = slots?.dialog ?? PickersModalDialogRoot;\n const Transition = slots?.mobileTransition ?? Fade;\n return /*#__PURE__*/_jsx(Dialog, _extends({\n open: open,\n onClose: onDismiss\n }, slotProps?.dialog, {\n TransitionComponent: Transition,\n TransitionProps: slotProps?.mobileTransition,\n PaperComponent: slots?.mobilePaper,\n PaperProps: slotProps?.mobilePaper,\n children: /*#__PURE__*/_jsx(PickersModalDialogContent, {\n children: children\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"props\", \"getOpenDialogAriaText\"];\nimport * as React from 'react';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport useForkRef from '@mui/utils/useForkRef';\nimport useId from '@mui/utils/useId';\nimport { PickersModalDialog } from '../../components/PickersModalDialog';\nimport { usePicker } from '../usePicker';\nimport { onSpaceOrEnter } from '../../utils/utils';\nimport { useUtils } from '../useUtils';\nimport { LocalizationProvider } from '../../../LocalizationProvider';\nimport { PickersLayout } from '../../../PickersLayout';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * Hook managing all the single-date mobile pickers:\n * - MobileDatePicker\n * - MobileDateTimePicker\n * - MobileTimePicker\n */\nexport const useMobilePicker = _ref => {\n let {\n props,\n getOpenDialogAriaText\n } = _ref,\n pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);\n const {\n slots,\n slotProps: innerSlotProps,\n className,\n sx,\n format,\n formatDensity,\n enableAccessibleFieldDOMStructure,\n selectedSections,\n onSelectedSectionsChange,\n timezone,\n name,\n label,\n inputRef,\n readOnly,\n disabled,\n localeText\n } = props;\n const utils = useUtils();\n const fieldRef = React.useRef(null);\n const labelId = useId();\n const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;\n const {\n open,\n actions,\n layoutProps,\n renderCurrentView,\n fieldProps: pickerFieldProps\n } = usePicker(_extends({}, pickerParams, {\n props,\n fieldRef,\n autoFocusView: true,\n additionalViewProps: {},\n wrapperVariant: 'mobile'\n }));\n const Field = slots.field;\n const fieldProps = useSlotProps({\n elementType: Field,\n externalSlotProps: innerSlotProps?.field,\n additionalProps: _extends({}, pickerFieldProps, isToolbarHidden && {\n id: labelId\n }, !(disabled || readOnly) && {\n onClick: actions.onOpen,\n onKeyDown: onSpaceOrEnter(actions.onOpen)\n }, {\n readOnly: readOnly ?? true,\n disabled,\n className,\n sx,\n format,\n formatDensity,\n enableAccessibleFieldDOMStructure,\n selectedSections,\n onSelectedSectionsChange,\n timezone,\n label,\n name\n }, inputRef ? {\n inputRef\n } : {}),\n ownerState: props\n });\n\n // TODO: Move to `useSlotProps` when https://github.com/mui/material-ui/pull/35088 will be merged\n fieldProps.inputProps = _extends({}, fieldProps.inputProps, {\n 'aria-label': getOpenDialogAriaText(pickerFieldProps.value, utils)\n });\n const slotsForField = _extends({\n textField: slots.textField\n }, fieldProps.slots);\n const Layout = slots.layout ?? PickersLayout;\n let labelledById = labelId;\n if (isToolbarHidden) {\n if (label) {\n labelledById = `${labelId}-label`;\n } else {\n labelledById = undefined;\n }\n }\n const slotProps = _extends({}, innerSlotProps, {\n toolbar: _extends({}, innerSlotProps?.toolbar, {\n titleId: labelId\n }),\n mobilePaper: _extends({\n 'aria-labelledby': labelledById\n }, innerSlotProps?.mobilePaper)\n });\n const handleFieldRef = useForkRef(fieldRef, fieldProps.unstableFieldRef);\n const renderPicker = () => /*#__PURE__*/_jsxs(LocalizationProvider, {\n localeText: localeText,\n children: [/*#__PURE__*/_jsx(Field, _extends({}, fieldProps, {\n slots: slotsForField,\n slotProps: slotProps,\n unstableFieldRef: handleFieldRef\n })), /*#__PURE__*/_jsx(PickersModalDialog, _extends({}, actions, {\n open: open,\n slots: slots,\n slotProps: slotProps,\n children: /*#__PURE__*/_jsx(Layout, _extends({}, layoutProps, slotProps?.layout, {\n slots: slots,\n slotProps: slotProps,\n children: renderCurrentView()\n }))\n }))]\n });\n return {\n renderPicker\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useOpenState } from '../useOpenState';\nimport { useLocalizationContext, useUtils } from '../useUtils';\nimport { useValidation } from '../useValidation';\nimport { useValueWithTimezone } from '../useValueWithTimezone';\n\n/**\n * Decide if the new value should be published\n * The published value will be passed to `onChange` if defined.\n */\nconst shouldPublishValue = params => {\n const {\n action,\n hasChanged,\n dateState,\n isControlled\n } = params;\n const isCurrentValueTheDefaultValue = !isControlled && !dateState.hasBeenModifiedSinceMount;\n\n // The field is responsible for only calling `onChange` when needed.\n if (action.name === 'setValueFromField') {\n return true;\n }\n if (action.name === 'setValueFromAction') {\n // If the component is not controlled, and the value has not been modified since the mount,\n // Then we want to publish the default value whenever the user pressed the \"Accept\", \"Today\" or \"Clear\" button.\n if (isCurrentValueTheDefaultValue && ['accept', 'today', 'clear'].includes(action.pickerAction)) {\n return true;\n }\n return hasChanged(dateState.lastPublishedValue);\n }\n if (action.name === 'setValueFromView' && action.selectionState !== 'shallow') {\n // On the first view,\n // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onChange`\n if (isCurrentValueTheDefaultValue) {\n return true;\n }\n return hasChanged(dateState.lastPublishedValue);\n }\n if (action.name === 'setValueFromShortcut') {\n // On the first view,\n // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onChange`\n if (isCurrentValueTheDefaultValue) {\n return true;\n }\n return hasChanged(dateState.lastPublishedValue);\n }\n return false;\n};\n\n/**\n * Decide if the new value should be committed.\n * The committed value will be passed to `onAccept` if defined.\n * It will also be used as a reset target when calling the `cancel` picker action (when clicking on the \"Cancel\" button).\n */\nconst shouldCommitValue = params => {\n const {\n action,\n hasChanged,\n dateState,\n isControlled,\n closeOnSelect\n } = params;\n const isCurrentValueTheDefaultValue = !isControlled && !dateState.hasBeenModifiedSinceMount;\n if (action.name === 'setValueFromAction') {\n // If the component is not controlled, and the value has not been modified since the mount,\n // Then we want to commit the default value whenever the user pressed the \"Accept\", \"Today\" or \"Clear\" button.\n if (isCurrentValueTheDefaultValue && ['accept', 'today', 'clear'].includes(action.pickerAction)) {\n return true;\n }\n return hasChanged(dateState.lastCommittedValue);\n }\n if (action.name === 'setValueFromView' && action.selectionState === 'finish' && closeOnSelect) {\n // On picker where the 1st view is also the last view,\n // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onAccept`\n if (isCurrentValueTheDefaultValue) {\n return true;\n }\n return hasChanged(dateState.lastCommittedValue);\n }\n if (action.name === 'setValueFromShortcut') {\n return action.changeImportance === 'accept' && hasChanged(dateState.lastCommittedValue);\n }\n return false;\n};\n\n/**\n * Decide if the picker should be closed after the value is updated.\n */\nconst shouldClosePicker = params => {\n const {\n action,\n closeOnSelect\n } = params;\n if (action.name === 'setValueFromAction') {\n return true;\n }\n if (action.name === 'setValueFromView') {\n return action.selectionState === 'finish' && closeOnSelect;\n }\n if (action.name === 'setValueFromShortcut') {\n return action.changeImportance === 'accept';\n }\n return false;\n};\n\n/**\n * Manage the value lifecycle of all the pickers.\n */\nexport const usePickerValue = ({\n props,\n valueManager,\n valueType,\n wrapperVariant,\n validator\n}) => {\n const {\n onAccept,\n onChange,\n value: inValueWithoutRenderTimezone,\n defaultValue: inDefaultValue,\n closeOnSelect = wrapperVariant === 'desktop',\n timezone: timezoneProp\n } = props;\n const {\n current: defaultValue\n } = React.useRef(inDefaultValue);\n const {\n current: isControlled\n } = React.useRef(inValueWithoutRenderTimezone !== undefined);\n\n /* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (inValueWithoutRenderTimezone !== undefined)) {\n console.error([`MUI X: A component is changing the ${isControlled ? '' : 'un'}controlled value of a picker to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled value` + 'for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [inValueWithoutRenderTimezone]);\n React.useEffect(() => {\n if (!isControlled && defaultValue !== inDefaultValue) {\n console.error([`MUI X: A component is changing the defaultValue of an uncontrolled picker after being initialized. ` + `To suppress this warning opt to use a controlled value.`].join('\\n'));\n }\n }, [JSON.stringify(defaultValue)]);\n }\n /* eslint-enable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\n\n const utils = useUtils();\n const adapter = useLocalizationContext();\n const {\n isOpen,\n setIsOpen\n } = useOpenState(props);\n const {\n timezone,\n value: inValueWithTimezoneToRender,\n handleValueChange\n } = useValueWithTimezone({\n timezone: timezoneProp,\n value: inValueWithoutRenderTimezone,\n defaultValue,\n onChange,\n valueManager\n });\n const [dateState, setDateState] = React.useState(() => {\n let initialValue;\n if (inValueWithTimezoneToRender !== undefined) {\n initialValue = inValueWithTimezoneToRender;\n } else if (defaultValue !== undefined) {\n initialValue = defaultValue;\n } else {\n initialValue = valueManager.emptyValue;\n }\n return {\n draft: initialValue,\n lastPublishedValue: initialValue,\n lastCommittedValue: initialValue,\n lastControlledValue: inValueWithTimezoneToRender,\n hasBeenModifiedSinceMount: false\n };\n });\n useValidation(_extends({}, props, {\n value: dateState.draft,\n timezone\n }), validator, valueManager.isSameError, valueManager.defaultErrorState);\n const updateDate = useEventCallback(action => {\n const updaterParams = {\n action,\n dateState,\n hasChanged: comparison => !valueManager.areValuesEqual(utils, action.value, comparison),\n isControlled,\n closeOnSelect\n };\n const shouldPublish = shouldPublishValue(updaterParams);\n const shouldCommit = shouldCommitValue(updaterParams);\n const shouldClose = shouldClosePicker(updaterParams);\n setDateState(prev => _extends({}, prev, {\n draft: action.value,\n lastPublishedValue: shouldPublish ? action.value : prev.lastPublishedValue,\n lastCommittedValue: shouldCommit ? action.value : prev.lastCommittedValue,\n hasBeenModifiedSinceMount: true\n }));\n let cachedContext = null;\n const getContext = () => {\n if (!cachedContext) {\n const validationError = action.name === 'setValueFromField' ? action.context.validationError : validator({\n adapter,\n value: action.value,\n props: _extends({}, props, {\n value: action.value,\n timezone\n })\n });\n cachedContext = {\n validationError\n };\n if (action.name === 'setValueFromShortcut') {\n cachedContext.shortcut = action.shortcut;\n }\n }\n return cachedContext;\n };\n if (shouldPublish) {\n handleValueChange(action.value, getContext());\n }\n if (shouldCommit && onAccept) {\n onAccept(action.value, getContext());\n }\n if (shouldClose) {\n setIsOpen(false);\n }\n });\n if (inValueWithTimezoneToRender !== undefined && (dateState.lastControlledValue === undefined || !valueManager.areValuesEqual(utils, dateState.lastControlledValue, inValueWithTimezoneToRender))) {\n const isUpdateComingFromPicker = valueManager.areValuesEqual(utils, dateState.draft, inValueWithTimezoneToRender);\n setDateState(prev => _extends({}, prev, {\n lastControlledValue: inValueWithTimezoneToRender\n }, isUpdateComingFromPicker ? {} : {\n lastCommittedValue: inValueWithTimezoneToRender,\n lastPublishedValue: inValueWithTimezoneToRender,\n draft: inValueWithTimezoneToRender,\n hasBeenModifiedSinceMount: true\n }));\n }\n const handleClear = useEventCallback(() => {\n updateDate({\n value: valueManager.emptyValue,\n name: 'setValueFromAction',\n pickerAction: 'clear'\n });\n });\n const handleAccept = useEventCallback(() => {\n updateDate({\n value: dateState.lastPublishedValue,\n name: 'setValueFromAction',\n pickerAction: 'accept'\n });\n });\n const handleDismiss = useEventCallback(() => {\n updateDate({\n value: dateState.lastPublishedValue,\n name: 'setValueFromAction',\n pickerAction: 'dismiss'\n });\n });\n const handleCancel = useEventCallback(() => {\n updateDate({\n value: dateState.lastCommittedValue,\n name: 'setValueFromAction',\n pickerAction: 'cancel'\n });\n });\n const handleSetToday = useEventCallback(() => {\n updateDate({\n value: valueManager.getTodayValue(utils, timezone, valueType),\n name: 'setValueFromAction',\n pickerAction: 'today'\n });\n });\n const handleOpen = useEventCallback(event => {\n event.preventDefault();\n setIsOpen(true);\n });\n const handleClose = useEventCallback(event => {\n event?.preventDefault();\n setIsOpen(false);\n });\n const handleChange = useEventCallback((newValue, selectionState = 'partial') => updateDate({\n name: 'setValueFromView',\n value: newValue,\n selectionState\n }));\n const handleSelectShortcut = useEventCallback((newValue, changeImportance, shortcut) => updateDate({\n name: 'setValueFromShortcut',\n value: newValue,\n changeImportance,\n shortcut\n }));\n const handleChangeFromField = useEventCallback((newValue, context) => updateDate({\n name: 'setValueFromField',\n value: newValue,\n context\n }));\n const actions = {\n onClear: handleClear,\n onAccept: handleAccept,\n onDismiss: handleDismiss,\n onCancel: handleCancel,\n onSetToday: handleSetToday,\n onOpen: handleOpen,\n onClose: handleClose\n };\n const fieldResponse = {\n value: dateState.draft,\n onChange: handleChangeFromField\n };\n const viewValue = React.useMemo(() => valueManager.cleanValue(utils, dateState.draft), [utils, valueManager, dateState.draft]);\n const viewResponse = {\n value: viewValue,\n onChange: handleChange,\n onClose: handleClose,\n open: isOpen\n };\n const isValid = testedValue => {\n const error = validator({\n adapter,\n value: testedValue,\n props: _extends({}, props, {\n value: testedValue,\n timezone\n })\n });\n return !valueManager.hasError(error);\n };\n const layoutResponse = _extends({}, actions, {\n value: viewValue,\n onChange: handleChange,\n onSelectShortcut: handleSelectShortcut,\n isValid\n });\n return {\n open: isOpen,\n fieldProps: fieldResponse,\n viewProps: viewResponse,\n layoutProps: layoutResponse,\n actions\n };\n};","import * as React from 'react';\nexport const useOpenState = ({\n open,\n onOpen,\n onClose\n}) => {\n const isControllingOpenProp = React.useRef(typeof open === 'boolean').current;\n const [openState, setIsOpenState] = React.useState(false);\n\n // It is required to update inner state in useEffect in order to avoid situation when\n // Our component is not mounted yet, but `open` state is set to `true` (for example initially opened)\n React.useEffect(() => {\n if (isControllingOpenProp) {\n if (typeof open !== 'boolean') {\n throw new Error('You must not mix controlling and uncontrolled mode for `open` prop');\n }\n setIsOpenState(open);\n }\n }, [isControllingOpenProp, open]);\n const setIsOpen = React.useCallback(newIsOpen => {\n if (!isControllingOpenProp) {\n setIsOpenState(newIsOpen);\n }\n if (newIsOpen && onOpen) {\n onOpen();\n }\n if (!newIsOpen && onClose) {\n onClose();\n }\n }, [isControllingOpenProp, onOpen, onClose]);\n return {\n isOpen: openState,\n setIsOpen\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"sx\"];\nimport * as React from 'react';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useViews } from '../useViews';\nimport { isTimeView } from '../../utils/time-utils';\n\n/**\n * Props used to handle the views that are common to all pickers.\n */\n\n/**\n * Props used to handle the views of the pickers.\n */\n\n/**\n * Props used to handle the value of the pickers.\n */\n\n/**\n * Manage the views of all the pickers:\n * - Handles the view switch\n * - Handles the switch between UI views and field views\n * - Handles the focus management when switching views\n */\nexport const usePickerViews = ({\n props,\n propsFromPickerValue,\n additionalViewProps,\n autoFocusView,\n rendererInterceptor,\n fieldRef\n}) => {\n const {\n onChange,\n open,\n onClose\n } = propsFromPickerValue;\n const {\n view: inView,\n views,\n openTo,\n onViewChange,\n viewRenderers,\n timezone\n } = props;\n const propsToForwardToView = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n view,\n setView,\n defaultView,\n focusedView,\n setFocusedView,\n setValueAndGoToNextView\n } = useViews({\n view: inView,\n views,\n openTo,\n onChange,\n onViewChange,\n autoFocus: autoFocusView\n });\n const {\n hasUIView,\n viewModeLookup\n } = React.useMemo(() => views.reduce((acc, viewForReduce) => {\n let viewMode;\n if (viewRenderers[viewForReduce] != null) {\n viewMode = 'UI';\n } else {\n viewMode = 'field';\n }\n acc.viewModeLookup[viewForReduce] = viewMode;\n if (viewMode === 'UI') {\n acc.hasUIView = true;\n }\n return acc;\n }, {\n hasUIView: false,\n viewModeLookup: {}\n }), [viewRenderers, views]);\n const timeViewsCount = React.useMemo(() => views.reduce((acc, viewForReduce) => {\n if (viewRenderers[viewForReduce] != null && isTimeView(viewForReduce)) {\n return acc + 1;\n }\n return acc;\n }, 0), [viewRenderers, views]);\n const currentViewMode = viewModeLookup[view];\n const shouldRestoreFocus = useEventCallback(() => currentViewMode === 'UI');\n const [popperView, setPopperView] = React.useState(currentViewMode === 'UI' ? view : null);\n if (popperView !== view && viewModeLookup[view] === 'UI') {\n setPopperView(view);\n }\n useEnhancedEffect(() => {\n // Handle case of `DateTimePicker` without time renderers\n if (currentViewMode === 'field' && open) {\n onClose();\n setTimeout(() => {\n fieldRef?.current?.setSelectedSections(view);\n // focusing the input before the range selection is done\n // calling it outside of timeout results in an inconsistent behavior between Safari And Chrome\n fieldRef?.current?.focusField(view);\n });\n }\n }, [view]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEnhancedEffect(() => {\n if (!open) {\n return;\n }\n let newView = view;\n\n // If the current view is a field view, go to the last popper view\n if (currentViewMode === 'field' && popperView != null) {\n newView = popperView;\n }\n\n // If the current view is not the default view and both are UI views\n if (newView !== defaultView && viewModeLookup[newView] === 'UI' && viewModeLookup[defaultView] === 'UI') {\n newView = defaultView;\n }\n if (newView !== view) {\n setView(newView);\n }\n setFocusedView(newView, true);\n }, [open]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const layoutProps = {\n views,\n view: popperView,\n onViewChange: setView\n };\n return {\n hasUIView,\n shouldRestoreFocus,\n layoutProps,\n renderCurrentView: () => {\n if (popperView == null) {\n return null;\n }\n const renderer = viewRenderers[popperView];\n if (renderer == null) {\n return null;\n }\n const rendererProps = _extends({}, propsToForwardToView, additionalViewProps, propsFromPickerValue, {\n views,\n timezone,\n onChange: setValueAndGoToNextView,\n view: popperView,\n onViewChange: setView,\n focusedView,\n onFocusedViewChange: setFocusedView,\n showViewSwitcher: timeViewsCount > 1,\n timeViewsCount\n });\n if (rendererInterceptor) {\n return rendererInterceptor(viewRenderers, popperView, rendererProps);\n }\n return renderer(rendererProps);\n }\n };\n};","import * as React from 'react';\nimport { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';\nimport { arrayIncludes } from '../utils/utils';\nfunction getOrientation() {\n if (typeof window === 'undefined') {\n return 'portrait';\n }\n if (window.screen && window.screen.orientation && window.screen.orientation.angle) {\n return Math.abs(window.screen.orientation.angle) === 90 ? 'landscape' : 'portrait';\n }\n\n // Support IOS safari\n if (window.orientation) {\n return Math.abs(Number(window.orientation)) === 90 ? 'landscape' : 'portrait';\n }\n return 'portrait';\n}\nexport const useIsLandscape = (views, customOrientation) => {\n const [orientation, setOrientation] = React.useState(getOrientation);\n useEnhancedEffect(() => {\n const eventHandler = () => {\n setOrientation(getOrientation());\n };\n window.addEventListener('orientationchange', eventHandler);\n return () => {\n window.removeEventListener('orientationchange', eventHandler);\n };\n }, []);\n if (arrayIncludes(views, ['hours', 'minutes', 'seconds'])) {\n // could not display 13:34:44 in landscape mode\n return false;\n }\n const orientationToUse = customOrientation || orientation;\n return orientationToUse === 'landscape';\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { useIsLandscape } from '../useIsLandscape';\n\n/**\n * Props used to create the layout of the views.\n * Those props are exposed on all the pickers.\n */\n\n/**\n * Prepare the props for the view layout (managed by `PickersLayout`)\n */\nexport const usePickerLayoutProps = ({\n props,\n propsFromPickerValue,\n propsFromPickerViews,\n wrapperVariant\n}) => {\n const {\n orientation\n } = props;\n const isLandscape = useIsLandscape(propsFromPickerViews.views, orientation);\n const isRtl = useRtl();\n const layoutProps = _extends({}, propsFromPickerViews, propsFromPickerValue, {\n isLandscape,\n isRtl,\n wrapperVariant,\n disabled: props.disabled,\n readOnly: props.readOnly\n });\n return {\n layoutProps\n };\n};","import { usePickerValue } from './usePickerValue';\nimport { usePickerViews } from './usePickerViews';\nimport { usePickerLayoutProps } from './usePickerLayoutProps';\nimport { warnOnce } from '../../utils/warning';\nexport const usePicker = ({\n props,\n valueManager,\n valueType,\n wrapperVariant,\n additionalViewProps,\n validator,\n autoFocusView,\n rendererInterceptor,\n fieldRef\n}) => {\n if (process.env.NODE_ENV !== 'production') {\n if (props.renderInput != null) {\n warnOnce(['MUI X: The `renderInput` prop has been removed in version 6.0 of the Date and Time Pickers.', 'You can replace it with the `textField` component slot in most cases.', 'For more information, please have a look at the migration guide (https://mui.com/x/migration/migration-pickers-v5/#input-renderer-required-in-v5).']);\n }\n }\n const pickerValueResponse = usePickerValue({\n props,\n valueManager,\n valueType,\n wrapperVariant,\n validator\n });\n const pickerViewsResponse = usePickerViews({\n props,\n additionalViewProps,\n autoFocusView,\n fieldRef,\n propsFromPickerValue: pickerValueResponse.viewProps,\n rendererInterceptor\n });\n const pickerLayoutResponse = usePickerLayoutProps({\n props,\n wrapperVariant,\n propsFromPickerValue: pickerValueResponse.layoutProps,\n propsFromPickerViews: pickerViewsResponse.layoutProps\n });\n return {\n // Picker value\n open: pickerValueResponse.open,\n actions: pickerValueResponse.actions,\n fieldProps: pickerValueResponse.fieldProps,\n // Picker views\n renderCurrentView: pickerViewsResponse.renderCurrentView,\n hasUIView: pickerViewsResponse.hasUIView,\n shouldRestoreFocus: pickerViewsResponse.shouldRestoreFocus,\n // Picker layout\n layoutProps: pickerLayoutResponse.layoutProps\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport const getPickersLocalization = pickersTranslations => {\n return {\n components: {\n MuiLocalizationProvider: {\n defaultProps: {\n localeText: _extends({}, pickersTranslations)\n }\n }\n }\n };\n};","import { getPickersLocalization } from './utils/getPickersLocalization';\n\n// This object is not Partial because it is the default values\n\nconst enUSPickers = {\n // Calendar navigation\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n // View navigation\n openPreviousView: 'Open previous view',\n openNextView: 'Open next view',\n calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view',\n // DateRange labels\n start: 'Start',\n end: 'End',\n startDate: 'Start date',\n startTime: 'Start time',\n endDate: 'End date',\n endTime: 'End time',\n // Action bar\n cancelButtonLabel: 'Cancel',\n clearButtonLabel: 'Clear',\n okButtonLabel: 'OK',\n todayButtonLabel: 'Today',\n // Toolbar titles\n datePickerToolbarTitle: 'Select date',\n dateTimePickerToolbarTitle: 'Select date & time',\n timePickerToolbarTitle: 'Select time',\n dateRangePickerToolbarTitle: 'Select date range',\n // Clock labels\n clockLabelText: (view, time, adapter) => `Select ${view}. ${time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`}`,\n hoursClockNumberText: hours => `${hours} hours`,\n minutesClockNumberText: minutes => `${minutes} minutes`,\n secondsClockNumberText: seconds => `${seconds} seconds`,\n // Digital clock labels\n selectViewText: view => `Select ${view}`,\n // Calendar labels\n calendarWeekNumberHeaderLabel: 'Week number',\n calendarWeekNumberHeaderText: '#',\n calendarWeekNumberAriaLabelText: weekNumber => `Week ${weekNumber}`,\n calendarWeekNumberText: weekNumber => `${weekNumber}`,\n // Open picker labels\n openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Choose date, selected date is ${utils.format(value, 'fullDate')}` : 'Choose date',\n openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Choose time, selected time is ${utils.format(value, 'fullTime')}` : 'Choose time',\n fieldClearLabel: 'Clear value',\n // Table labels\n timeTableLabel: 'pick time',\n dateTableLabel: 'pick date',\n // Field section placeholders\n fieldYearPlaceholder: params => 'Y'.repeat(params.digitAmount),\n fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',\n fieldDayPlaceholder: () => 'DD',\n fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',\n fieldHoursPlaceholder: () => 'hh',\n fieldMinutesPlaceholder: () => 'mm',\n fieldSecondsPlaceholder: () => 'ss',\n fieldMeridiemPlaceholder: () => 'aa',\n // View names\n year: 'Year',\n month: 'Month',\n day: 'Day',\n weekDay: 'Week day',\n hours: 'Hours',\n minutes: 'Minutes',\n seconds: 'Seconds',\n meridiem: 'Meridiem',\n // Common\n empty: 'Empty'\n};\nexport const DEFAULT_LOCALE = enUSPickers;\nexport const enUS = getPickersLocalization(enUSPickers);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { MuiPickersAdapterContext } from '../../LocalizationProvider/LocalizationProvider';\nimport { DEFAULT_LOCALE } from '../../locales/enUS';\nexport const useLocalizationContext = () => {\n const localization = React.useContext(MuiPickersAdapterContext);\n if (localization === null) {\n throw new Error(['MUI X: Can not find the date and time pickers localization context.', 'It looks like you forgot to wrap your component in LocalizationProvider.', 'This can also happen if you are bundling multiple versions of the `@mui/x-date-pickers` package'].join('\\n'));\n }\n if (localization.utils === null) {\n throw new Error(['MUI X: Can not find the date and time pickers adapter from its localization context.', 'It looks like you forgot to pass a `dateAdapter` to your LocalizationProvider.'].join('\\n'));\n }\n const localeText = React.useMemo(() => _extends({}, DEFAULT_LOCALE, localization.localeText), [localization.localeText]);\n return React.useMemo(() => _extends({}, localization, {\n localeText\n }), [localization, localeText]);\n};\nexport const useUtils = () => useLocalizationContext().utils;\nexport const useDefaultDates = () => useLocalizationContext().defaultDates;\nexport const useNow = timezone => {\n const utils = useUtils();\n const now = React.useRef();\n if (now.current === undefined) {\n now.current = utils.date(undefined, timezone);\n }\n return now.current;\n};","import * as React from 'react';\nimport { useLocalizationContext } from './useUtils';\nexport function useValidation(props, validate, isSameError, defaultErrorState) {\n const {\n value,\n onError\n } = props;\n const adapter = useLocalizationContext();\n const previousValidationErrorRef = React.useRef(defaultErrorState);\n const validationError = validate({\n adapter,\n value,\n props\n });\n React.useEffect(() => {\n if (onError && !isSameError(validationError, previousValidationErrorRef.current)) {\n onError(validationError, value);\n }\n previousValidationErrorRef.current = validationError;\n }, [isSameError, onError, previousValidationErrorRef, validationError, value]);\n return validationError;\n}","import * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport useControlled from '@mui/utils/useControlled';\nimport { useUtils } from './useUtils';\n/**\n * Hooks making sure that:\n * - The value returned by `onChange` always have the timezone of `props.value` or `props.defaultValue` if defined\n * - The value rendered is always the one from `props.timezone` if defined\n */\nexport const useValueWithTimezone = ({\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange,\n valueManager\n}) => {\n const utils = useUtils();\n const firstDefaultValue = React.useRef(defaultValue);\n const inputValue = valueProp ?? firstDefaultValue.current ?? valueManager.emptyValue;\n const inputTimezone = React.useMemo(() => valueManager.getTimezone(utils, inputValue), [utils, valueManager, inputValue]);\n const setInputTimezone = useEventCallback(newValue => {\n if (inputTimezone == null) {\n return newValue;\n }\n return valueManager.setTimezone(utils, inputTimezone, newValue);\n });\n const timezoneToRender = timezoneProp ?? inputTimezone ?? 'default';\n const valueWithTimezoneToRender = React.useMemo(() => valueManager.setTimezone(utils, timezoneToRender, inputValue), [valueManager, utils, timezoneToRender, inputValue]);\n const handleValueChange = useEventCallback((newValue, ...otherParams) => {\n const newValueWithInputTimezone = setInputTimezone(newValue);\n onChange?.(newValueWithInputTimezone, ...otherParams);\n });\n return {\n value: valueWithTimezoneToRender,\n handleValueChange,\n timezone: timezoneToRender\n };\n};\n\n/**\n * Wrapper around `useControlled` and `useValueWithTimezone`\n */\nexport const useControlledValueWithTimezone = ({\n name,\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n onChange: onChangeProp,\n valueManager\n}) => {\n const [valueWithInputTimezone, setValue] = useControlled({\n name,\n state: 'value',\n controlled: valueProp,\n default: defaultValue ?? valueManager.emptyValue\n });\n const onChange = useEventCallback((newValue, ...otherParams) => {\n setValue(newValue);\n onChangeProp?.(newValue, ...otherParams);\n });\n return useValueWithTimezone({\n timezone: timezoneProp,\n value: valueWithInputTimezone,\n defaultValue: undefined,\n onChange,\n valueManager\n });\n};","import * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { unstable_useControlled as useControlled } from '@mui/utils';\nlet warnedOnceNotValidView = false;\nexport function useViews({\n onChange,\n onViewChange,\n openTo,\n view: inView,\n views,\n autoFocus,\n focusedView: inFocusedView,\n onFocusedViewChange\n}) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnceNotValidView) {\n if (inView != null && !views.includes(inView)) {\n console.warn(`MUI X: \\`view=\"${inView}\"\\` is not a valid prop.`, `It must be an element of \\`views=[\"${views.join('\", \"')}\"]\\`.`);\n warnedOnceNotValidView = true;\n }\n if (inView == null && openTo != null && !views.includes(openTo)) {\n console.warn(`MUI X: \\`openTo=\"${openTo}\"\\` is not a valid prop.`, `It must be an element of \\`views=[\"${views.join('\", \"')}\"]\\`.`);\n warnedOnceNotValidView = true;\n }\n }\n }\n const previousOpenTo = React.useRef(openTo);\n const previousViews = React.useRef(views);\n const defaultView = React.useRef(views.includes(openTo) ? openTo : views[0]);\n const [view, setView] = useControlled({\n name: 'useViews',\n state: 'view',\n controlled: inView,\n default: defaultView.current\n });\n const defaultFocusedView = React.useRef(autoFocus ? view : null);\n const [focusedView, setFocusedView] = useControlled({\n name: 'useViews',\n state: 'focusedView',\n controlled: inFocusedView,\n default: defaultFocusedView.current\n });\n React.useEffect(() => {\n // Update the current view when `openTo` or `views` props change\n if (previousOpenTo.current && previousOpenTo.current !== openTo || previousViews.current && previousViews.current.some(previousView => !views.includes(previousView))) {\n setView(views.includes(openTo) ? openTo : views[0]);\n previousViews.current = views;\n previousOpenTo.current = openTo;\n }\n }, [openTo, setView, view, views]);\n const viewIndex = views.indexOf(view);\n const previousView = views[viewIndex - 1] ?? null;\n const nextView = views[viewIndex + 1] ?? null;\n const handleFocusedViewChange = useEventCallback((viewToFocus, hasFocus) => {\n if (hasFocus) {\n // Focus event\n setFocusedView(viewToFocus);\n } else {\n // Blur event\n setFocusedView(prevFocusedView => viewToFocus === prevFocusedView ? null : prevFocusedView // If false the blur is due to view switching\n );\n }\n onFocusedViewChange?.(viewToFocus, hasFocus);\n });\n const handleChangeView = useEventCallback(newView => {\n // always keep the focused view in sync\n handleFocusedViewChange(newView, true);\n if (newView === view) {\n return;\n }\n setView(newView);\n if (onViewChange) {\n onViewChange(newView);\n }\n });\n const goToNextView = useEventCallback(() => {\n if (nextView) {\n handleChangeView(nextView);\n }\n });\n const setValueAndGoToNextView = useEventCallback((value, currentViewSelectionState, selectedView) => {\n const isSelectionFinishedOnCurrentView = currentViewSelectionState === 'finish';\n const hasMoreViews = selectedView ?\n // handles case like `DateTimePicker`, where a view might return a `finish` selection state\n // but when it's not the final view given all `views` -> overall selection state should be `partial`.\n views.indexOf(selectedView) < views.length - 1 : Boolean(nextView);\n const globalSelectionState = isSelectionFinishedOnCurrentView && hasMoreViews ? 'partial' : currentViewSelectionState;\n onChange(value, globalSelectionState, selectedView);\n // Detects if the selected view is not the active one.\n // Can happen if multiple views are displayed, like in `DesktopDateTimePicker` or `MultiSectionDigitalClock`.\n if (selectedView && selectedView !== view) {\n const nextViewAfterSelected = views[views.indexOf(selectedView) + 1];\n if (nextViewAfterSelected) {\n // move to next view after the selected one\n handleChangeView(nextViewAfterSelected);\n }\n } else if (isSelectionFinishedOnCurrentView) {\n goToNextView();\n }\n });\n return {\n view,\n setView: handleChangeView,\n focusedView,\n setFocusedView: handleFocusedViewChange,\n nextView,\n previousView,\n // Always return up-to-date default view instead of the initial one (i.e. defaultView.current)\n defaultView: views.includes(openTo) ? openTo : views[0],\n goToNextView,\n setValueAndGoToNextView\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"enableAccessibleFieldDOMStructure\"],\n _excluded2 = [\"InputProps\", \"readOnly\"],\n _excluded3 = [\"onPaste\", \"onKeyDown\", \"inputMode\", \"readOnly\", \"InputProps\", \"inputProps\", \"inputRef\"];\nexport const convertFieldResponseIntoMuiTextFieldProps = _ref => {\n let {\n enableAccessibleFieldDOMStructure\n } = _ref,\n fieldResponse = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (enableAccessibleFieldDOMStructure) {\n const {\n InputProps,\n readOnly\n } = fieldResponse,\n other = _objectWithoutPropertiesLoose(fieldResponse, _excluded2);\n return _extends({}, other, {\n InputProps: _extends({}, InputProps ?? {}, {\n readOnly\n })\n });\n }\n const {\n onPaste,\n onKeyDown,\n inputMode,\n readOnly,\n InputProps,\n inputProps,\n inputRef\n } = fieldResponse,\n other = _objectWithoutPropertiesLoose(fieldResponse, _excluded3);\n return _extends({}, other, {\n InputProps: _extends({}, InputProps ?? {}, {\n readOnly\n }),\n inputProps: _extends({}, inputProps ?? {}, {\n inputMode,\n onPaste,\n onKeyDown,\n ref: inputRef\n })\n });\n};","import { areViewsEqual } from './views';\nexport const mergeDateAndTime = (utils, dateParam, timeParam) => {\n let mergedDate = dateParam;\n mergedDate = utils.setHours(mergedDate, utils.getHours(timeParam));\n mergedDate = utils.setMinutes(mergedDate, utils.getMinutes(timeParam));\n mergedDate = utils.setSeconds(mergedDate, utils.getSeconds(timeParam));\n return mergedDate;\n};\nexport const findClosestEnabledDate = ({\n date,\n disableFuture,\n disablePast,\n maxDate,\n minDate,\n isDateDisabled,\n utils,\n timezone\n}) => {\n const today = mergeDateAndTime(utils, utils.date(undefined, timezone), date);\n if (disablePast && utils.isBefore(minDate, today)) {\n minDate = today;\n }\n if (disableFuture && utils.isAfter(maxDate, today)) {\n maxDate = today;\n }\n let forward = date;\n let backward = date;\n if (utils.isBefore(date, minDate)) {\n forward = minDate;\n backward = null;\n }\n if (utils.isAfter(date, maxDate)) {\n if (backward) {\n backward = maxDate;\n }\n forward = null;\n }\n while (forward || backward) {\n if (forward && utils.isAfter(forward, maxDate)) {\n forward = null;\n }\n if (backward && utils.isBefore(backward, minDate)) {\n backward = null;\n }\n if (forward) {\n if (!isDateDisabled(forward)) {\n return forward;\n }\n forward = utils.addDays(forward, 1);\n }\n if (backward) {\n if (!isDateDisabled(backward)) {\n return backward;\n }\n backward = utils.addDays(backward, -1);\n }\n }\n return null;\n};\nexport const replaceInvalidDateByNull = (utils, value) => value == null || !utils.isValid(value) ? null : value;\nexport const applyDefaultDate = (utils, value, defaultValue) => {\n if (value == null || !utils.isValid(value)) {\n return defaultValue;\n }\n return value;\n};\nexport const areDatesEqual = (utils, a, b) => {\n if (!utils.isValid(a) && a != null && !utils.isValid(b) && b != null) {\n return true;\n }\n return utils.isEqual(a, b);\n};\nexport const getMonthsInYear = (utils, year) => {\n const firstMonth = utils.startOfYear(year);\n const months = [firstMonth];\n while (months.length < 12) {\n const prevMonth = months[months.length - 1];\n months.push(utils.addMonths(prevMonth, 1));\n }\n return months;\n};\nexport const getTodayDate = (utils, timezone, valueType) => valueType === 'date' ? utils.startOfDay(utils.date(undefined, timezone)) : utils.date(undefined, timezone);\nexport const formatMeridiem = (utils, meridiem) => {\n const date = utils.setHours(utils.date(), meridiem === 'am' ? 2 : 14);\n return utils.format(date, 'meridiem');\n};\nconst dateViews = ['year', 'month', 'day'];\nexport const isDatePickerView = view => dateViews.includes(view);\nexport const resolveDateFormat = (utils, {\n format,\n views\n}, isInToolbar) => {\n if (format != null) {\n return format;\n }\n const formats = utils.formats;\n if (areViewsEqual(views, ['year'])) {\n return formats.year;\n }\n if (areViewsEqual(views, ['month'])) {\n return formats.month;\n }\n if (areViewsEqual(views, ['day'])) {\n return formats.dayOfMonth;\n }\n if (areViewsEqual(views, ['month', 'year'])) {\n return `${formats.month} ${formats.year}`;\n }\n if (areViewsEqual(views, ['day', 'month'])) {\n return `${formats.month} ${formats.dayOfMonth}`;\n }\n if (isInToolbar) {\n // Little localization hack (Google is doing the same for android native pickers):\n // For english localization it is convenient to include weekday into the date \"Mon, Jun 1\".\n // For other locales using strings like \"June 1\", without weekday.\n return /en/.test(utils.getCurrentLocaleCode()) ? formats.normalDateWithWeekday : formats.normalDate;\n }\n return formats.keyboardDate;\n};\nexport const getWeekdays = (utils, date) => {\n const start = utils.startOfWeek(date);\n return [0, 1, 2, 3, 4, 5, 6].map(diff => utils.addDays(start, diff));\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from './validation/extractValidationProps';\nconst SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'unstableFieldRef', 'enableAccessibleFieldDOMStructure', 'disabled', 'readOnly', 'dateSeparator'];\nexport const splitFieldInternalAndForwardedProps = (props, valueType) => {\n const forwardedProps = _extends({}, props);\n const internalProps = {};\n const extractProp = propName => {\n if (forwardedProps.hasOwnProperty(propName)) {\n // @ts-ignore\n internalProps[propName] = forwardedProps[propName];\n delete forwardedProps[propName];\n }\n };\n SHARED_FIELD_INTERNAL_PROP_NAMES.forEach(extractProp);\n if (valueType === 'date') {\n DATE_VALIDATION_PROP_NAMES.forEach(extractProp);\n } else if (valueType === 'time') {\n TIME_VALIDATION_PROP_NAMES.forEach(extractProp);\n } else if (valueType === 'date-time') {\n DATE_VALIDATION_PROP_NAMES.forEach(extractProp);\n TIME_VALIDATION_PROP_NAMES.forEach(extractProp);\n DATE_TIME_VALIDATION_PROP_NAMES.forEach(extractProp);\n }\n return {\n forwardedProps,\n internalProps\n };\n};","import { createIsAfterIgnoreDatePart } from './time-utils';\nimport { mergeDateAndTime, getTodayDate } from './date-utils';\nexport const SECTION_TYPE_GRANULARITY = {\n year: 1,\n month: 2,\n day: 3,\n hours: 4,\n minutes: 5,\n seconds: 6,\n milliseconds: 7\n};\nexport const getSectionTypeGranularity = sections => Math.max(...sections.map(section => SECTION_TYPE_GRANULARITY[section.type] ?? 1));\nconst roundDate = (utils, granularity, date) => {\n if (granularity === SECTION_TYPE_GRANULARITY.year) {\n return utils.startOfYear(date);\n }\n if (granularity === SECTION_TYPE_GRANULARITY.month) {\n return utils.startOfMonth(date);\n }\n if (granularity === SECTION_TYPE_GRANULARITY.day) {\n return utils.startOfDay(date);\n }\n\n // We don't have startOfHour / startOfMinute / startOfSecond\n let roundedDate = date;\n if (granularity < SECTION_TYPE_GRANULARITY.minutes) {\n roundedDate = utils.setMinutes(roundedDate, 0);\n }\n if (granularity < SECTION_TYPE_GRANULARITY.seconds) {\n roundedDate = utils.setSeconds(roundedDate, 0);\n }\n if (granularity < SECTION_TYPE_GRANULARITY.milliseconds) {\n roundedDate = utils.setMilliseconds(roundedDate, 0);\n }\n return roundedDate;\n};\nexport const getDefaultReferenceDate = ({\n props,\n utils,\n granularity,\n timezone,\n getTodayDate: inGetTodayDate\n}) => {\n let referenceDate = inGetTodayDate ? inGetTodayDate() : roundDate(utils, granularity, getTodayDate(utils, timezone));\n if (props.minDate != null && utils.isAfterDay(props.minDate, referenceDate)) {\n referenceDate = roundDate(utils, granularity, props.minDate);\n }\n if (props.maxDate != null && utils.isBeforeDay(props.maxDate, referenceDate)) {\n referenceDate = roundDate(utils, granularity, props.maxDate);\n }\n const isAfter = createIsAfterIgnoreDatePart(props.disableIgnoringDatePartForTimeValidation ?? false, utils);\n if (props.minTime != null && isAfter(props.minTime, referenceDate)) {\n referenceDate = roundDate(utils, granularity, props.disableIgnoringDatePartForTimeValidation ? props.minTime : mergeDateAndTime(utils, referenceDate, props.minTime));\n }\n if (props.maxTime != null && isAfter(referenceDate, props.maxTime)) {\n referenceDate = roundDate(utils, granularity, props.disableIgnoringDatePartForTimeValidation ? props.maxTime : mergeDateAndTime(utils, referenceDate, props.maxTime));\n }\n return referenceDate;\n};","import { areViewsEqual } from './views';\nconst timeViews = ['hours', 'minutes', 'seconds'];\nexport const isTimeView = view => timeViews.includes(view);\nexport const isInternalTimeView = view => timeViews.includes(view) || view === 'meridiem';\nexport const getMeridiem = (date, utils) => {\n if (!date) {\n return null;\n }\n return utils.getHours(date) >= 12 ? 'pm' : 'am';\n};\nexport const convertValueToMeridiem = (value, meridiem, ampm) => {\n if (ampm) {\n const currentMeridiem = value >= 12 ? 'pm' : 'am';\n if (currentMeridiem !== meridiem) {\n return meridiem === 'am' ? value - 12 : value + 12;\n }\n }\n return value;\n};\nexport const convertToMeridiem = (time, meridiem, ampm, utils) => {\n const newHoursAmount = convertValueToMeridiem(utils.getHours(time), meridiem, ampm);\n return utils.setHours(time, newHoursAmount);\n};\nexport const getSecondsInDay = (date, utils) => {\n return utils.getHours(date) * 3600 + utils.getMinutes(date) * 60 + utils.getSeconds(date);\n};\nexport const createIsAfterIgnoreDatePart = (disableIgnoringDatePartForTimeValidation, utils) => (dateLeft, dateRight) => {\n if (disableIgnoringDatePartForTimeValidation) {\n return utils.isAfter(dateLeft, dateRight);\n }\n return getSecondsInDay(dateLeft, utils) > getSecondsInDay(dateRight, utils);\n};\nexport const resolveTimeFormat = (utils, {\n format,\n views,\n ampm\n}) => {\n if (format != null) {\n return format;\n }\n const formats = utils.formats;\n if (areViewsEqual(views, ['hours'])) {\n return ampm ? `${formats.hours12h} ${formats.meridiem}` : formats.hours24h;\n }\n if (areViewsEqual(views, ['minutes'])) {\n return formats.minutes;\n }\n if (areViewsEqual(views, ['seconds'])) {\n return formats.seconds;\n }\n if (areViewsEqual(views, ['minutes', 'seconds'])) {\n return `${formats.minutes}:${formats.seconds}`;\n }\n if (areViewsEqual(views, ['hours', 'minutes', 'seconds'])) {\n return ampm ? `${formats.hours12h}:${formats.minutes}:${formats.seconds} ${formats.meridiem}` : `${formats.hours24h}:${formats.minutes}:${formats.seconds}`;\n }\n return ampm ? `${formats.hours12h}:${formats.minutes} ${formats.meridiem}` : `${formats.hours24h}:${formats.minutes}`;\n};","/* Use it instead of .includes method for IE support */\nexport function arrayIncludes(array, itemOrItems) {\n if (Array.isArray(itemOrItems)) {\n return itemOrItems.every(item => array.indexOf(item) !== -1);\n }\n return array.indexOf(itemOrItems) !== -1;\n}\nexport const onSpaceOrEnter = (innerFn, externalEvent) => event => {\n if (event.key === 'Enter' || event.key === ' ') {\n innerFn(event);\n\n // prevent any side effects\n event.preventDefault();\n event.stopPropagation();\n }\n if (externalEvent) {\n externalEvent(event);\n }\n};\nexport const executeInTheNextEventLoopTick = fn => {\n setTimeout(fn, 0);\n};\n\n// https://www.abeautifulsite.net/posts/finding-the-active-element-in-a-shadow-root/\nexport const getActiveElement = (root = document) => {\n const activeEl = root.activeElement;\n if (!activeEl) {\n return null;\n }\n if (activeEl.shadowRoot) {\n return getActiveElement(activeEl.shadowRoot);\n }\n return activeEl;\n};\nexport const DEFAULT_DESKTOP_MODE_MEDIA_QUERY = '@media (pointer: fine)';","export const DATE_VALIDATION_PROP_NAMES = ['disablePast', 'disableFuture', 'minDate', 'maxDate', 'shouldDisableDate', 'shouldDisableMonth', 'shouldDisableYear'];\nexport const TIME_VALIDATION_PROP_NAMES = ['disablePast', 'disableFuture', 'minTime', 'maxTime', 'shouldDisableTime', 'minutesStep', 'ampm', 'disableIgnoringDatePartForTimeValidation'];\nexport const DATE_TIME_VALIDATION_PROP_NAMES = ['minDateTime', 'maxDateTime'];\nconst VALIDATION_PROP_NAMES = [...DATE_VALIDATION_PROP_NAMES, ...TIME_VALIDATION_PROP_NAMES, ...DATE_TIME_VALIDATION_PROP_NAMES];\n/**\n * Extract the validation props for the props received by a component.\n * Limit the risk of forgetting some of them and reduce the bundle size.\n */\nexport const extractValidationProps = props => VALIDATION_PROP_NAMES.reduce((extractedProps, propName) => {\n if (props.hasOwnProperty(propName)) {\n extractedProps[propName] = props[propName];\n }\n return extractedProps;\n}, {});","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\", \"referenceDate\"];\nimport { areDatesEqual, getTodayDate, replaceInvalidDateByNull } from './date-utils';\nimport { getDefaultReferenceDate } from './getDefaultReferenceDate';\nimport { createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from '../hooks/useField/useField.utils';\nexport const singleItemValueManager = {\n emptyValue: null,\n getTodayValue: getTodayDate,\n getInitialReferenceValue: _ref => {\n let {\n value,\n referenceDate\n } = _ref,\n params = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (value != null && params.utils.isValid(value)) {\n return value;\n }\n if (referenceDate != null) {\n return referenceDate;\n }\n return getDefaultReferenceDate(params);\n },\n cleanValue: replaceInvalidDateByNull,\n areValuesEqual: areDatesEqual,\n isSameError: (a, b) => a === b,\n hasError: error => error != null,\n defaultErrorState: null,\n getTimezone: (utils, value) => value == null || !utils.isValid(value) ? null : utils.getTimezone(value),\n setTimezone: (utils, timezone, value) => value == null ? null : utils.setTimezone(value, timezone)\n};\nexport const singleItemFieldValueManager = {\n updateReferenceValue: (utils, value, prevReferenceValue) => value == null || !utils.isValid(value) ? prevReferenceValue : value,\n getSectionsFromValue: (utils, date, prevSections, getSectionsFromDate) => {\n const shouldReUsePrevDateSections = !utils.isValid(date) && !!prevSections;\n if (shouldReUsePrevDateSections) {\n return prevSections;\n }\n return getSectionsFromDate(date);\n },\n getV7HiddenInputValueFromSections: createDateStrForV7HiddenInputFromSections,\n getV6InputValueFromSections: createDateStrForV6InputFromSections,\n getActiveDateManager: (utils, state) => ({\n date: state.value,\n referenceDate: state.referenceValue,\n getSections: sections => sections,\n getNewValuesFromNewActiveDate: newActiveDate => ({\n value: newActiveDate,\n referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : newActiveDate\n })\n }),\n parseValueStr: (valueStr, referenceValue, parseDate) => parseDate(valueStr.trim(), referenceValue)\n};","export const areViewsEqual = (views, expectedViews) => {\n if (views.length !== expectedViews.length) {\n return false;\n }\n return expectedViews.every(expectedView => views.includes(expectedView));\n};\nexport const applyDefaultViewProps = ({\n openTo,\n defaultOpenTo,\n views,\n defaultViews\n}) => {\n const viewsWithDefault = views ?? defaultViews;\n let openToWithDefault;\n if (openTo != null) {\n openToWithDefault = openTo;\n } else if (viewsWithDefault.includes(defaultOpenTo)) {\n openToWithDefault = defaultOpenTo;\n } else if (viewsWithDefault.length > 0) {\n openToWithDefault = viewsWithDefault[0];\n } else {\n throw new Error('MUI X: The `views` prop must contain at least one view.');\n }\n return {\n views: viewsWithDefault,\n openTo: openToWithDefault\n };\n};","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.AOS=t():e.AOS=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p=\"dist/\",t(0)}([function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}var i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0];if(e&&(k=!0),k)return w=(0,y.default)(w,x),(0,b.default)(w,x.once),w},O=function(){w=(0,h.default)(),j()},M=function(){w.forEach(function(e,t){e.node.removeAttribute(\"data-aos\"),e.node.removeAttribute(\"data-aos-easing\"),e.node.removeAttribute(\"data-aos-duration\"),e.node.removeAttribute(\"data-aos-delay\")})},S=function(e){return e===!0||\"mobile\"===e&&p.default.mobile()||\"phone\"===e&&p.default.phone()||\"tablet\"===e&&p.default.tablet()||\"function\"==typeof e&&e()===!0},_=function(e){x=i(x,e),w=(0,h.default)();var t=document.all&&!window.atob;return S(x.disable)||t?M():(x.disableMutationObserver||d.default.isSupported()||(console.info('\\n aos: MutationObserver is not supported on this browser,\\n code mutations observing has been disabled.\\n You may have to call \"refreshHard()\" by yourself.\\n '),x.disableMutationObserver=!0),document.querySelector(\"body\").setAttribute(\"data-aos-easing\",x.easing),document.querySelector(\"body\").setAttribute(\"data-aos-duration\",x.duration),document.querySelector(\"body\").setAttribute(\"data-aos-delay\",x.delay),\"DOMContentLoaded\"===x.startEvent&&[\"complete\",\"interactive\"].indexOf(document.readyState)>-1?j(!0):\"load\"===x.startEvent?window.addEventListener(x.startEvent,function(){j(!0)}):document.addEventListener(x.startEvent,function(){j(!0)}),window.addEventListener(\"resize\",(0,s.default)(j,x.debounceDelay,!0)),window.addEventListener(\"orientationchange\",(0,s.default)(j,x.debounceDelay,!0)),window.addEventListener(\"scroll\",(0,u.default)(function(){(0,b.default)(w,x.once)},x.throttleDelay)),x.disableMutationObserver||d.default.ready(\"[data-aos]\",O),w)};e.exports={init:_,refresh:j,refreshHard:O}},function(e,t){},,,,,function(e,t){(function(t){\"use strict\";function n(e,t,n){function o(t){var n=b,o=v;return b=v=void 0,k=t,g=e.apply(o,n)}function r(e){return k=e,h=setTimeout(f,t),M?o(e):g}function a(e){var n=e-w,o=e-k,i=t-n;return S?j(i,y-o):i}function c(e){var n=e-w,o=e-k;return void 0===w||n>=t||n<0||S&&o>=y}function f(){var e=O();return c(e)?d(e):void(h=setTimeout(f,a(e)))}function d(e){return h=void 0,_&&b?o(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),k=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(O())}function m(){var e=O(),n=c(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(f,t),o(w)}return void 0===h&&(h=setTimeout(f,t)),g}var b,v,y,g,h,w,k=0,M=!1,S=!1,_=!0;if(\"function\"!=typeof e)throw new TypeError(s);return t=u(t)||0,i(n)&&(M=!!n.leading,S=\"maxWait\"in n,y=S?x(u(n.maxWait)||0,t):y,_=\"trailing\"in n?!!n.trailing:_),m.cancel=l,m.flush=p,m}function o(e,t,o){var r=!0,a=!0;if(\"function\"!=typeof e)throw new TypeError(s);return i(o)&&(r=\"leading\"in o?!!o.leading:r,a=\"trailing\"in o?!!o.trailing:a),n(e,t,{leading:r,maxWait:t,trailing:a})}function i(e){var t=\"undefined\"==typeof e?\"undefined\":c(e);return!!e&&(\"object\"==t||\"function\"==t)}function r(e){return!!e&&\"object\"==(\"undefined\"==typeof e?\"undefined\":c(e))}function a(e){return\"symbol\"==(\"undefined\"==typeof e?\"undefined\":c(e))||r(e)&&k.call(e)==d}function u(e){if(\"number\"==typeof e)return e;if(a(e))return f;if(i(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(l,\"\");var n=m.test(e);return n||b.test(e)?v(e.slice(2),n?2:8):p.test(e)?f:+e}var c=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s=\"Expected a function\",f=NaN,d=\"[object Symbol]\",l=/^\\s+|\\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,y=\"object\"==(\"undefined\"==typeof t?\"undefined\":c(t))&&t&&t.Object===Object&&t,g=\"object\"==(\"undefined\"==typeof self?\"undefined\":c(self))&&self&&self.Object===Object&&self,h=y||g||Function(\"return this\")(),w=Object.prototype,k=w.toString,x=Math.max,j=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){\"use strict\";function n(e,t,n){function i(t){var n=b,o=v;return b=v=void 0,O=t,g=e.apply(o,n)}function r(e){return O=e,h=setTimeout(f,t),M?i(e):g}function u(e){var n=e-w,o=e-O,i=t-n;return S?x(i,y-o):i}function s(e){var n=e-w,o=e-O;return void 0===w||n>=t||n<0||S&&o>=y}function f(){var e=j();return s(e)?d(e):void(h=setTimeout(f,u(e)))}function d(e){return h=void 0,_&&b?i(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),O=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(j())}function m(){var e=j(),n=s(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(f,t),i(w)}return void 0===h&&(h=setTimeout(f,t)),g}var b,v,y,g,h,w,O=0,M=!1,S=!1,_=!0;if(\"function\"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(M=!!n.leading,S=\"maxWait\"in n,y=S?k(a(n.maxWait)||0,t):y,_=\"trailing\"in n?!!n.trailing:_),m.cancel=l,m.flush=p,m}function o(e){var t=\"undefined\"==typeof e?\"undefined\":u(e);return!!e&&(\"object\"==t||\"function\"==t)}function i(e){return!!e&&\"object\"==(\"undefined\"==typeof e?\"undefined\":u(e))}function r(e){return\"symbol\"==(\"undefined\"==typeof e?\"undefined\":u(e))||i(e)&&w.call(e)==f}function a(e){if(\"number\"==typeof e)return e;if(r(e))return s;if(o(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(d,\"\");var n=p.test(e);return n||m.test(e)?b(e.slice(2),n?2:8):l.test(e)?s:+e}var u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},c=\"Expected a function\",s=NaN,f=\"[object Symbol]\",d=/^\\s+|\\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,m=/^0o[0-7]+$/i,b=parseInt,v=\"object\"==(\"undefined\"==typeof t?\"undefined\":u(t))&&t&&t.Object===Object&&t,y=\"object\"==(\"undefined\"==typeof self?\"undefined\":u(self))&&self&&self.Object===Object&&self,g=v||y||Function(\"return this\")(),h=Object.prototype,w=h.toString,k=Math.max,x=Math.min,j=function(){return g.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){\"use strict\";function n(e){var t=void 0,o=void 0,i=void 0;for(t=0;te.position?e.node.classList.add(\"aos-animate\"):\"undefined\"!=typeof o&&(\"false\"===o||!n&&\"true\"!==o)&&e.node.classList.remove(\"aos-animate\")},o=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,r){n(e,i+o,t)})};t.default=o},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(12),r=o(i),a=function(e,t){return e.forEach(function(e,n){e.node.classList.add(\"aos-init\"),e.position=(0,r.default)(e.node,t.offset)}),e};t.default=a},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(13),r=o(i),a=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute(\"data-aos-offset\"),anchor:e.getAttribute(\"data-aos-anchor\"),anchorPlacement:e.getAttribute(\"data-aos-anchor-placement\")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case\"top-bottom\":break;case\"center-bottom\":n+=e.offsetHeight/2;break;case\"bottom-bottom\":n+=e.offsetHeight;break;case\"top-center\":n+=i/2;break;case\"bottom-center\":n+=i/2+e.offsetHeight;break;case\"center-center\":n+=i/2+e.offsetHeight/2;break;case\"top-top\":n+=i;break;case\"bottom-top\":n+=e.offsetHeight+i;break;case\"center-top\":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=a},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-(\"BODY\"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-(\"BODY\"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){return e=e||document.querySelectorAll(\"[data-aos]\"),Array.prototype.map.call(e,function(e){return{node:e}})};t.default=n}])});","import { BrowserDefinition, OsDefinition, OsVersion } from './browser-detect.interface';\r\n\r\nexport const browsers: BrowserDefinition[] = [\r\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\r\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\r\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)$/],\r\n ['edge', /Edge\\/([0-9\\._]+)/],\r\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+)\\).*Gecko$/],\r\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\r\n ['ie', /MSIE\\s(7\\.0)/],\r\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\r\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\r\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\r\n ['android', /Android\\s([0-9\\.]+)/],\r\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\r\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\r\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/]\r\n];\r\n\r\nexport const os: OsDefinition[] = [\r\n 'Windows Phone',\r\n 'Android',\r\n 'CentOS',\r\n { name: 'Chrome OS', pattern: 'CrOS' },\r\n 'Debian',\r\n 'Fedora',\r\n 'FreeBSD',\r\n 'Gentoo',\r\n 'Haiku',\r\n 'Kubuntu',\r\n 'Linux Mint',\r\n 'OpenBSD',\r\n 'Red Hat',\r\n 'SuSE',\r\n 'Ubuntu',\r\n 'Xubuntu',\r\n 'Cygwin',\r\n 'Symbian OS',\r\n 'hpwOS',\r\n 'webOS ',\r\n 'webOS',\r\n 'Tablet OS',\r\n 'Tizen',\r\n 'Linux',\r\n 'Mac OS X',\r\n 'Macintosh',\r\n 'Mac',\r\n 'Windows 98;',\r\n 'Windows '\r\n];\r\n\r\nexport const osVersions: OsVersion = {\r\n '10.0': '10',\r\n '6.4': '10 Technical Preview',\r\n '6.3': '8.1',\r\n '6.2': '8',\r\n '6.1': 'Server 2008 R2 / 7',\r\n '6.0': 'Server 2008 / Vista',\r\n '5.2': 'Server 2003 / XP 64-bit',\r\n '5.1': 'XP',\r\n '5.01': '2000 SP1',\r\n '5.0': '2000',\r\n '4.0': 'NT',\r\n '4.90': 'ME'\r\n};\r\n","export const mobileRegExp =\r\n new RegExp(\r\n ['(android|bb\\\\d+|meego).+mobile|avantgo|bada\\\\/|blackberry|blazer|',\r\n 'compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|',\r\n 'midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)',\r\n '\\\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\\\.(browser|link)|vodafone|',\r\n 'wap|windows ce|xda|xiino'].join(''),\r\n 'i'\r\n );\r\n\r\nexport const mobilePrefixRegExp =\r\n new RegExp(\r\n ['1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|',\r\n 'ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|',\r\n 'avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\\\/|capi|ccwa|cdm\\\\-|',\r\n 'cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|',\r\n 'ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|',\r\n 'g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|',\r\n 'hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|',\r\n 'i230|iac( |\\\\-|\\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|',\r\n 'kddi|keji|kgt( |\\\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\\\/(k|l|u)|50|54|\\\\-[a-w])',\r\n '|libw|lynx|m1\\\\-w|m3ga|m50\\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|',\r\n 'mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|',\r\n 'n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|',\r\n 'op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|',\r\n 'po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|',\r\n 'raks|rim9|ro(ve|zo)|s55\\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\\\/|',\r\n 'se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|k\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|',\r\n 'so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|',\r\n 'tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\\\.b|g1|si)|utst|v400|v750|',\r\n 'veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|',\r\n 'w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-'].join(''),\r\n 'i'\r\n );\r\n","import { BrowserDetectInfo, OsDefinition, OsDefinitionInterface } from './browser-detect.interface';\r\nimport { browsers, os, osVersions } from './definitions';\r\nimport { mobilePrefixRegExp, mobileRegExp } from './regexp';\r\nimport Process = NodeJS.Process;\r\n\r\nexport class Detector {\r\n private userAgent: string;\r\n\r\n public constructor(\r\n userAgent: string,\r\n private navigator?: Navigator,\r\n private process?: Process\r\n ) {\r\n this.userAgent = userAgent\r\n ? userAgent\r\n : this.navigator ? (navigator.userAgent || navigator.vendor) : '';\r\n }\r\n\r\n public detect(): BrowserDetectInfo {\r\n if (this.process && !this.userAgent) {\r\n const version = this.process.version.slice(1) .split('.').slice(0, 3);\r\n const versionTail = Array.prototype.slice.call(version, 1).join('') || '0';\r\n\r\n return {\r\n name: 'node',\r\n version: version.join('.'),\r\n versionNumber: parseFloat(`${version[0]}.${versionTail}`),\r\n mobile: false,\r\n os: this.process.platform\r\n };\r\n }\r\n\r\n if (!this.userAgent)\r\n this.handleMissingError();\r\n\r\n return {\r\n ...this.checkBrowser(),\r\n ...this.checkMobile(),\r\n ...this.checkOs()\r\n };\r\n }\r\n\r\n private checkBrowser(): BrowserDetectInfo {\r\n return browsers\r\n .filter(definition => (definition[1]).test(this.userAgent))\r\n .map(definition => {\r\n const match = (definition[1]).exec(this.userAgent);\r\n const version = match && match[1].split(/[._]/).slice(0, 3);\r\n const versionTails = Array.prototype.slice.call(version, 1).join('') || '0';\r\n\r\n if (version && version.length < 3)\r\n Array.prototype.push.apply(version, version.length === 1 ? [0, 0] : [0]);\r\n\r\n return {\r\n name: String(definition[0]),\r\n version: version.join('.'),\r\n versionNumber: Number(`${version[0]}.${versionTails}`)\r\n };\r\n })\r\n .shift();\r\n }\r\n\r\n private checkMobile(): BrowserDetectInfo {\r\n const agentPrefix = this.userAgent.substr(0, 4);\r\n const mobile = mobileRegExp.test(this.userAgent) || mobilePrefixRegExp.test(agentPrefix);\r\n return { mobile };\r\n }\r\n\r\n private checkOs(): BrowserDetectInfo {\r\n return os\r\n .map(definition => {\r\n const name = (definition).name || definition;\r\n const pattern = this.getOsPattern(definition);\r\n\r\n return {\r\n name,\r\n pattern,\r\n value: RegExp(\r\n `\\\\b${\r\n pattern.replace(/([ -])(?!$)/g, '$1?')\r\n }(?:x?[\\\\d._]+|[ \\\\w.]*)`,\r\n 'i'\r\n ).exec(this.userAgent)\r\n };\r\n })\r\n .filter(definition => definition.value)\r\n .map(definition => {\r\n let os = definition.value[0] || '';\r\n let osSuffix: string;\r\n\r\n if (\r\n definition.pattern &&\r\n definition.name &&\r\n /^Win/i.test(os) &&\r\n !/^Windows Phone /i.test(os) &&\r\n (osSuffix = osVersions[os.replace(/[^\\d.]/g, '')])\r\n )\r\n os = `Windows ${osSuffix}`;\r\n\r\n if (definition.pattern && definition.name)\r\n os = os.replace(RegExp(definition.pattern, 'i'), definition.name);\r\n\r\n os = os\r\n .replace(/ ce$/i, ' CE')\r\n .replace(/\\bhpw/i, 'web')\r\n .replace(/\\bMacintosh\\b/, 'Mac OS')\r\n .replace(/_PowerPC\\b/i, ' OS')\r\n .replace(/\\b(OS X) [^ \\d]+/i, '$1')\r\n .replace(/\\bMac (OS X)\\b/, '$1')\r\n .replace(/\\/(\\d)/, ' $1')\r\n .replace(/_/g, '.')\r\n .replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, '')\r\n .replace(/\\bx86\\.64\\b/gi, 'x86_64')\r\n .replace(/\\b(Windows Phone) OS\\b/, '$1')\r\n .replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, '$1')\r\n .split(' on ')[0]\r\n .trim();\r\n\r\n os = /^(?:webOS|i(?:OS|P))/.test(os)\r\n ? os\r\n : (os.charAt(0).toUpperCase() + os.slice(1));\r\n\r\n return { os };\r\n })\r\n .shift();\r\n }\r\n\r\n private getOsPattern(definition: OsDefinition): string {\r\n const definitionInterface = definition;\r\n return (\r\n typeof definition === 'string'\r\n ? definition\r\n : undefined\r\n ) ||\r\n definitionInterface.pattern ||\r\n definitionInterface.name;\r\n }\r\n\r\n private handleMissingError() {\r\n throw new Error('Please give user-agent.\\n> browser(navigator.userAgent or res.headers[\\'user-agent\\']).');\r\n }\r\n}\r\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","require('../../modules/es6.array.filter');\nmodule.exports = require('../../modules/_core').Array.filter;\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","require('../../modules/es6.array.map');\nmodule.exports = require('../../modules/_core').Array.map;\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","require('../../modules/es6.string.trim');\nmodule.exports = require('../../modules/_core').String.trim;\n","import { BrowserDetectInfo } from './browser-detect.interface';\r\nimport { Detector } from './detector';\r\nimport 'core-js/fn/array/filter';\r\nimport 'core-js/fn/array/map';\r\nimport 'core-js/fn/string/trim';\r\n\r\nconst injectableNavigator = typeof window !== 'undefined'\r\n ? window.navigator\r\n : undefined;\r\n\r\nconst injectableProcess = typeof process !== 'undefined'\r\n ? process\r\n : undefined;\r\n\r\nexport default function (userAgent?: string): BrowserDetectInfo {\r\n const detector = new Detector(userAgent, injectableNavigator, injectableProcess);\r\n return detector.detect();\r\n}\r\n","export default function mergeClassNames() {\n return Array.prototype.slice.call(arguments).reduce(function (classList, arg) {\n return classList.concat(arg);\n }, []).filter(function (arg) {\n return typeof arg === 'string';\n }).join(' ');\n}","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","//! moment-timezone.js\n//! version : 0.5.45\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.45\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tfunction closest (num, arr) {\n\t\tvar len = arr.length;\n\t\tif (num < arr[0]) {\n\t\t\treturn 0;\n\t\t} else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) {\n\t\t\treturn len - 1;\n\t\t} else if (num >= arr[len - 1]) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tvar mid;\n\t\tvar lo = 0;\n\t\tvar hi = len - 1;\n\t\twhile (hi - lo > 1) {\n\t\t\tmid = Math.floor((lo + hi) / 2);\n\t\t\tif (arr[mid] <= num) {\n\t\t\t\tlo = mid;\n\t\t\t} else {\n\t\t\t\thi = mid;\n\t\t\t}\n\t\t}\n\t\treturn hi;\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\ti = closest(target, untils);\n\t\t\tif (i >= 0) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\tlastOffset = last.offset,\n\t\t\toffsets = [last],\n\t\t\tchange, next, nextOffset, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnextOffset = new Date(startYear, i, 1).getTimezoneOffset();\n\t\t\tif (nextOffset !== lastOffset) {\n\t\t\t\t// Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets\n\t\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t\tlast = next;\n\t\t\t\tlastOffset = nextOffset;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\tcheckedOffsets = {},\n\t\t\ti, j, offset, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\toffset = offsets[i].offset;\n\t\t\tif (checkedOffsets.hasOwnProperty(offset)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tguessesOffset = guesses[offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcheckedOffsets[offset] = true;\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tout = moment.utc.apply(null, args),\n\t\t\tzone;\n\n\t\tif (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC && mom.isValid()) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","import type { MouseEvent } from 'react';\nimport type {\n ChartType,\n ChartData,\n DefaultDataPoint,\n ChartDataset,\n ChartOptions,\n Chart,\n} from 'chart.js';\n\nimport type { ForwardedRef } from './types';\n\nconst defaultDatasetIdKey = 'label';\n\nexport function reforwardRef(ref: ForwardedRef, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport function setOptions<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(chart: Chart, nextOptions: ChartOptions) {\n Object.assign(chart.options, nextOptions);\n}\n\nexport function setLabels<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n currentData: ChartData,\n nextLabels: TLabel[] | undefined\n) {\n currentData.labels = nextLabels;\n}\n\nexport function setDatasets<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n currentData: ChartData,\n nextDatasets: ChartDataset[],\n datasetIdKey = defaultDatasetIdKey\n) {\n const addedDatasets: ChartDataset[] = [];\n\n currentData.datasets = nextDatasets.map(\n (nextDataset: Record) => {\n // given the new set, find it's current match\n const currentDataset = currentData.datasets.find(\n (dataset: Record) =>\n dataset[datasetIdKey] === nextDataset[datasetIdKey]\n );\n\n // There is no original to update, so simply add new one\n if (\n !currentDataset ||\n !nextDataset.data ||\n addedDatasets.includes(currentDataset)\n ) {\n return { ...nextDataset } as ChartDataset;\n }\n\n addedDatasets.push(currentDataset);\n\n Object.assign(currentDataset, nextDataset);\n\n return currentDataset;\n }\n );\n}\n\nexport function cloneData<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(data: ChartData, datasetIdKey = defaultDatasetIdKey) {\n const nextData: ChartData = {\n labels: [],\n datasets: [],\n };\n\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n\n return nextData;\n}\n\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getDatasetAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'dataset',\n { intersect: true },\n false\n );\n}\n\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'nearest',\n { intersect: true },\n false\n );\n}\n\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementsAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'index',\n { intersect: true },\n false\n );\n}\n","import React, { useEffect, useRef, forwardRef } from 'react';\nimport { Chart as ChartJS } from 'chart.js';\nimport type { ChartType, DefaultDataPoint } from 'chart.js';\n\nimport type { ForwardedRef, ChartProps, TypedChartComponent } from './types';\nimport {\n reforwardRef,\n cloneData,\n setOptions,\n setLabels,\n setDatasets,\n} from './utils';\n\nfunction ChartComponent<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n {\n height = 150,\n width = 300,\n redraw = false,\n datasetIdKey,\n type,\n data,\n options,\n plugins = [],\n fallbackContent,\n updateMode,\n ...props\n }: ChartProps,\n ref: ForwardedRef>\n) {\n type TypedChartJS = ChartJS;\n\n const canvasRef = useRef(null);\n const chartRef = useRef();\n\n const renderChart = () => {\n if (!canvasRef.current) return;\n\n chartRef.current = new ChartJS(canvasRef.current, {\n type,\n data: cloneData(data, datasetIdKey),\n options: options && { ...options },\n plugins,\n });\n\n reforwardRef(ref, chartRef.current);\n };\n\n const destroyChart = () => {\n reforwardRef(ref, null);\n\n if (chartRef.current) {\n chartRef.current.destroy();\n chartRef.current = null;\n }\n };\n\n useEffect(() => {\n if (!redraw && chartRef.current && options) {\n setOptions(chartRef.current, options);\n }\n }, [redraw, options]);\n\n useEffect(() => {\n if (!redraw && chartRef.current) {\n setLabels(chartRef.current.config.data, data.labels);\n }\n }, [redraw, data.labels]);\n\n useEffect(() => {\n if (!redraw && chartRef.current && data.datasets) {\n setDatasets(chartRef.current.config.data, data.datasets, datasetIdKey);\n }\n }, [redraw, data.datasets]);\n\n useEffect(() => {\n if (!chartRef.current) return;\n\n if (redraw) {\n destroyChart();\n setTimeout(renderChart);\n } else {\n chartRef.current.update(updateMode);\n }\n }, [redraw, options, data.labels, data.datasets, updateMode]);\n\n useEffect(() => {\n if (!chartRef.current) return;\n\n destroyChart();\n setTimeout(renderChart);\n }, [type]);\n\n useEffect(() => {\n renderChart();\n\n return () => destroyChart();\n }, []);\n\n return (\n \n {fallbackContent}\n \n );\n}\n\nexport const Chart = forwardRef(ChartComponent) as TypedChartComponent;\n","import React, { forwardRef } from 'react';\nimport {\n Chart as ChartJS,\n LineController,\n BarController,\n RadarController,\n DoughnutController,\n PolarAreaController,\n BubbleController,\n PieController,\n ScatterController,\n} from 'chart.js';\nimport type { ChartType, ChartComponentLike } from 'chart.js';\n\nimport type {\n ChartProps,\n ChartJSOrUndefined,\n TypedChartComponent,\n} from './types';\nimport { Chart } from './chart';\n\nfunction createTypedChart(\n type: T,\n registerables: ChartComponentLike\n) {\n ChartJS.register(registerables);\n\n return forwardRef, Omit, 'type'>>(\n (props, ref) => \n ) as TypedChartComponent;\n}\n\nexport const Line = /* #__PURE__ */ createTypedChart('line', LineController);\n\nexport const Bar = /* #__PURE__ */ createTypedChart('bar', BarController);\n\nexport const Radar = /* #__PURE__ */ createTypedChart('radar', RadarController);\n\nexport const Doughnut = /* #__PURE__ */ createTypedChart(\n 'doughnut',\n DoughnutController\n);\n\nexport const PolarArea = /* #__PURE__ */ createTypedChart(\n 'polarArea',\n PolarAreaController\n);\n\nexport const Bubble = /* #__PURE__ */ createTypedChart(\n 'bubble',\n BubbleController\n);\n\nexport const Pie = /* #__PURE__ */ createTypedChart('pie', PieController);\n\nexport const Scatter = /* #__PURE__ */ createTypedChart(\n 'scatter',\n ScatterController\n);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = Clock;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _mergeClassNames = _interopRequireDefault(require(\"merge-class-names\"));\n\nvar _Hand = _interopRequireDefault(require(\"./Hand\"));\n\nvar _Mark = _interopRequireDefault(require(\"./Mark\"));\n\nvar _dates = require(\"./shared/dates\");\n\nvar _propTypes2 = require(\"./shared/propTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction Clock(_ref) {\n var className = _ref.className,\n hourHandLength = _ref.hourHandLength,\n hourHandOppositeLength = _ref.hourHandOppositeLength,\n hourHandWidth = _ref.hourHandWidth,\n hourMarksLength = _ref.hourMarksLength,\n hourMarksWidth = _ref.hourMarksWidth,\n minuteHandLength = _ref.minuteHandLength,\n minuteHandOppositeLength = _ref.minuteHandOppositeLength,\n minuteHandWidth = _ref.minuteHandWidth,\n minuteMarksLength = _ref.minuteMarksLength,\n minuteMarksWidth = _ref.minuteMarksWidth,\n renderHourMarks = _ref.renderHourMarks,\n renderMinuteHand = _ref.renderMinuteHand,\n renderMinuteMarks = _ref.renderMinuteMarks,\n renderNumbers = _ref.renderNumbers,\n renderSecondHand = _ref.renderSecondHand,\n secondHandLength = _ref.secondHandLength,\n secondHandOppositeLength = _ref.secondHandOppositeLength,\n secondHandWidth = _ref.secondHandWidth,\n size = _ref.size,\n value = _ref.value;\n\n function renderMinuteMarksFn() {\n if (!renderMinuteMarks) {\n return null;\n }\n\n var minuteMarks = [];\n\n for (var i = 1; i <= 60; i += 1) {\n var isHourMark = renderHourMarks && !(i % 5);\n\n if (!isHourMark) {\n minuteMarks.push(_react[\"default\"].createElement(_Mark[\"default\"], {\n key: \"minute_\".concat(i),\n angle: i * 6,\n length: minuteMarksLength,\n name: \"minute\",\n width: minuteMarksWidth\n }));\n }\n }\n\n return minuteMarks;\n }\n\n function renderHourMarksFn() {\n if (!renderHourMarks) {\n return null;\n }\n\n var hourMarks = [];\n\n for (var i = 1; i <= 12; i += 1) {\n hourMarks.push(_react[\"default\"].createElement(_Mark[\"default\"], {\n key: \"hour_\".concat(i),\n angle: i * 30,\n length: hourMarksLength,\n name: \"hour\",\n number: renderNumbers ? i : null,\n width: hourMarksWidth\n }));\n }\n\n return hourMarks;\n }\n\n function renderFace() {\n return _react[\"default\"].createElement(\"div\", {\n className: \"react-clock__face\"\n }, renderMinuteMarksFn(), renderHourMarksFn());\n }\n\n function renderHourHandFn() {\n var angle = value ? (0, _dates.getHours)(value) * 30 + (0, _dates.getMinutes)(value) / 2 + (0, _dates.getSeconds)(value) / 600 : 0;\n return _react[\"default\"].createElement(_Hand[\"default\"], {\n angle: angle,\n length: hourHandLength,\n name: \"hour\",\n oppositeLength: hourHandOppositeLength,\n width: hourHandWidth\n });\n }\n\n function renderMinuteHandFn() {\n if (!renderMinuteHand) {\n return null;\n }\n\n var angle = value ? (0, _dates.getHours)(value) * 360 + (0, _dates.getMinutes)(value) * 6 + (0, _dates.getSeconds)(value) / 10 : 0;\n return _react[\"default\"].createElement(_Hand[\"default\"], {\n angle: angle,\n length: minuteHandLength,\n name: \"minute\",\n oppositeLength: minuteHandOppositeLength,\n width: minuteHandWidth\n });\n }\n\n function renderSecondHandFn() {\n if (!renderSecondHand) {\n return null;\n }\n\n var angle = value ? (0, _dates.getMinutes)(value) * 360 + (0, _dates.getSeconds)(value) * 6 : 0;\n return _react[\"default\"].createElement(_Hand[\"default\"], {\n angle: angle,\n length: secondHandLength,\n name: \"second\",\n oppositeLength: secondHandOppositeLength,\n width: secondHandWidth\n });\n }\n\n return _react[\"default\"].createElement(\"time\", {\n className: (0, _mergeClassNames[\"default\"])('react-clock', className),\n dateTime: value instanceof Date ? value.toISOString() : value,\n style: {\n width: \"\".concat(size, \"px\"),\n height: \"\".concat(size, \"px\")\n }\n }, renderFace(), renderHourHandFn(), renderMinuteHandFn(), renderSecondHandFn());\n}\n\nClock.defaultProps = {\n hourHandLength: 50,\n hourHandWidth: 4,\n hourMarksLength: 10,\n hourMarksWidth: 3,\n minuteHandLength: 70,\n minuteHandWidth: 2,\n minuteMarksLength: 6,\n minuteMarksWidth: 1,\n renderHourMarks: true,\n renderMinuteHand: true,\n renderMinuteMarks: true,\n renderSecondHand: true,\n secondHandLength: 90,\n secondHandWidth: 1,\n size: 150\n};\nClock.propTypes = {\n className: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].string)]),\n hourHandLength: _propTypes2.isHandLength,\n hourHandOppositeLength: _propTypes2.isOppositeHandLength,\n hourHandWidth: _propTypes2.isHandWidth,\n hourMarksLength: _propTypes2.isMarkLength,\n hourMarksWidth: _propTypes2.isMarkWidth,\n minuteHandLength: _propTypes2.isHandLength,\n minuteHandOppositeLength: _propTypes2.isOppositeHandLength,\n minuteHandWidth: _propTypes2.isHandWidth,\n minuteMarksLength: _propTypes2.isMarkLength,\n minuteMarksWidth: _propTypes2.isMarkWidth,\n renderHourMarks: _propTypes[\"default\"].bool,\n renderMinuteHand: _propTypes[\"default\"].bool,\n renderMinuteMarks: _propTypes[\"default\"].bool,\n renderNumbers: _propTypes[\"default\"].bool,\n renderSecondHand: _propTypes[\"default\"].bool,\n secondHandLength: _propTypes2.isHandLength,\n secondHandOppositeLength: _propTypes2.isOppositeHandLength,\n secondHandWidth: _propTypes2.isHandWidth,\n size: _propTypes[\"default\"].number,\n value: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].instanceOf(Date)])\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = Hand;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _propTypes2 = require(\"./shared/propTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction Hand(_ref) {\n var angle = _ref.angle,\n name = _ref.name,\n length = _ref.length,\n oppositeLength = _ref.oppositeLength,\n width = _ref.width;\n return _react[\"default\"].createElement(\"div\", {\n className: \"react-clock__hand react-clock__\".concat(name, \"-hand\"),\n style: {\n transform: \"rotate(\".concat(angle, \"deg)\")\n }\n }, _react[\"default\"].createElement(\"div\", {\n className: \"react-clock__hand__body react-clock__\".concat(name, \"-hand__body\"),\n style: {\n width: \"\".concat(width, \"px\"),\n top: \"\".concat(50 - length / 2, \"%\"),\n bottom: \"\".concat(50 - oppositeLength / 2, \"%\")\n }\n }));\n}\n\nHand.defaultProps = {\n angle: 0,\n length: 100,\n oppositeLength: 10,\n width: 1\n};\nHand.propTypes = {\n angle: _propTypes[\"default\"].number,\n length: _propTypes2.isHandLength,\n name: _propTypes[\"default\"].string.isRequired,\n oppositeLength: _propTypes2.isHandLength,\n width: _propTypes[\"default\"].number\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = Mark;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _propTypes2 = require(\"./shared/propTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction Mark(_ref) {\n var angle = _ref.angle,\n length = _ref.length,\n name = _ref.name,\n width = _ref.width,\n number = _ref.number;\n return _react[\"default\"].createElement(\"div\", {\n className: \"react-clock__mark react-clock__\".concat(name, \"-mark\"),\n style: {\n transform: \"rotate(\".concat(angle, \"deg)\")\n }\n }, _react[\"default\"].createElement(\"div\", {\n className: \"react-clock__mark__body react-clock__\".concat(name, \"-mark__body\"),\n style: {\n width: \"\".concat(width, \"px\"),\n top: 0,\n bottom: \"\".concat(100 - length / 2, \"%\")\n }\n }), number && _react[\"default\"].createElement(\"div\", {\n className: \"react-clock__mark__number\",\n style: {\n transform: \"rotate(-\".concat(angle, \"deg)\"),\n top: \"\".concat(length / 2, \"%\")\n }\n }, number));\n}\n\nMark.defaultProps = {\n angle: 0,\n length: 10,\n width: 1\n};\nMark.propTypes = {\n angle: _propTypes[\"default\"].number,\n length: _propTypes2.isMarkLength,\n name: _propTypes[\"default\"].string.isRequired,\n number: _propTypes[\"default\"].number,\n width: _propTypes2.isMarkWidth\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Clock\", {\n enumerable: true,\n get: function get() {\n return _Clock[\"default\"];\n }\n});\nexports[\"default\"] = void 0;\n\nvar _Clock = _interopRequireDefault(require(\"./Clock\"));\n\nrequire(\"./Clock.css\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// File is created during build phase and placed in dist directory\n// eslint-disable-next-line import/no-unresolved\nvar _default = _Clock[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getHours = getHours;\nexports.getMinutes = getMinutes;\nexports.getSeconds = getSeconds;\nvar hourOptionalSecondsRegExp = /^(([0-1])?[0-9]|2[0-3]):[0-5][0-9](:([0-5][0-9]))?$/;\nvar hourRegExp = /^(([0-1])?[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9])$/;\n\nfunction getHours(date) {\n if (date instanceof Date) {\n return date.getHours();\n }\n\n if (typeof date === 'string' && hourOptionalSecondsRegExp.test(date)) {\n var hourString = date.split(':')[0];\n return parseInt(hourString, 10);\n }\n\n throw new Error(\"Failed to get hours from date: \".concat(date, \".\"));\n}\n\nfunction getMinutes(date) {\n if (date instanceof Date) {\n return date.getMinutes();\n }\n\n if (typeof date === 'string' && hourOptionalSecondsRegExp.test(date)) {\n var minuteString = date.split(':')[1];\n return parseInt(minuteString, 10);\n }\n\n throw new Error(\"Failed to get minutes from date: \".concat(date, \".\"));\n}\n\nfunction getSeconds(date) {\n if (date instanceof Date) {\n return date.getSeconds();\n }\n\n if (typeof date === 'string') {\n if (hourRegExp.test(date)) {\n var secondString = date.split(':')[2];\n return parseInt(secondString, 10);\n }\n\n if (hourOptionalSecondsRegExp.test(date)) {\n return 0;\n }\n }\n\n throw new Error(\"Failed to get seconds from date: \".concat(date, \".\"));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isMarkWidth = exports.isMarkLength = exports.isHandWidth = exports.isOppositeHandLength = exports.isHandLength = void 0;\n\nvar _utils = require(\"./utils\");\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNumberBetween = function isNumberBetween(min, max) {\n return function (props, propName, componentName) {\n var value = props[propName];\n\n if ((0, _utils.isDefined)(value)) {\n if (typeof value !== 'number') {\n return new Error(\"Invalid prop `\".concat(propName, \"` of type `\").concat(_typeof(value), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (value < min || value > max) {\n return new Error(\"Invalid prop `\".concat(propName, \"` of type `\").concat(_typeof(value), \"` supplied to `\").concat(componentName, \"`, length must be between \").concat(min, \" and \").concat(max, \".\"));\n }\n } // Everything is fine\n\n\n return null;\n };\n};\n\nvar isHandLength = isNumberBetween(0, 100);\nexports.isHandLength = isHandLength;\nvar isOppositeHandLength = isNumberBetween(-100, 100);\nexports.isOppositeHandLength = isOppositeHandLength;\n\nvar isHandWidth = function isHandWidth(props, propName, componentName) {\n var width = props[propName];\n\n if ((0, _utils.isDefined)(width)) {\n if (typeof width !== 'number') {\n return new Error(\"Invalid prop `\".concat(propName, \"` of type `\").concat(_typeof(width), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (width < 0) {\n return new Error(\"Invalid prop `\".concat(propName, \"` of type `\").concat(_typeof(width), \"` supplied to `\").concat(componentName, \"`, width must be greater or equal to 0.\"));\n }\n } // Everything is fine\n\n\n return null;\n};\n\nexports.isHandWidth = isHandWidth;\nvar isMarkLength = isHandLength;\nexports.isMarkLength = isMarkLength;\nvar isMarkWidth = isHandWidth;\nexports.isMarkWidth = isMarkWidth;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDefined = void 0;\n\n/* eslint-disable import/prefer-default-export */\n\n/**\n * Checks whether a variable is defined.\n *\n * @param {*} variable Variable to check\n */\nvar isDefined = function isDefined(variable) {\n return typeof variable !== 'undefined';\n};\n\nexports.isDefined = isDefined;","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Loading\"] = factory();\n\telse\n\t\troot[\"Loading\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 6feda731dd4ebaacd003","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 0\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 1\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 2\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/warning.js\n// module id = 3\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 4\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyObject.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = require('fbjs/lib/invariant');\n var warning = require('fbjs/lib/warning');\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/checkPropTypes.js\n// module id = 6\n// module chunks = 0","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as svgSources from './svg';\n\nexport default class Loading extends Component {\n static propTypes = {\n color: PropTypes.string,\n delay: PropTypes.number,\n type: PropTypes.string,\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n };\n\n static defaultProps = {\n color: '#fff',\n delay: 0,\n type: 'balls',\n height: 64,\n width: 64,\n };\n\n state = {\n delayed: this.props.delay > 0,\n };\n\n componentDidMount() {\n const { delay } = this.props;\n const { delayed } = this.state;\n\n if (delayed) {\n this.timeout = setTimeout(() => {\n this.setState({\n delayed: false,\n });\n }, delay);\n }\n }\n\n componentWillUnmount() {\n const { timeout } = this;\n\n if (timeout) {\n clearTimeout(timeout);\n }\n }\n\n render() {\n const {\n color, delay, type, height, width, ...restProps\n } = this.props;\n const selectedType = this.state.delayed ? 'blank' : type;\n const svg = svgSources[selectedType];\n const style = {\n fill: color,\n height,\n width,\n };\n\n return (\n \n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/react-loading.jsx","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react/index.js\n// module id = 8\n// module chunks = 0","/** @license React v16.3.2\n * react.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var m=require(\"object-assign\"),n=require(\"fbjs/lib/invariant\"),p=require(\"fbjs/lib/emptyObject\"),q=require(\"fbjs/lib/emptyFunction\"),r=\"function\"===typeof Symbol&&Symbol[\"for\"],t=r?Symbol[\"for\"](\"react.element\"):60103,u=r?Symbol[\"for\"](\"react.portal\"):60106,v=r?Symbol[\"for\"](\"react.fragment\"):60107,w=r?Symbol[\"for\"](\"react.strict_mode\"):60108,x=r?Symbol[\"for\"](\"react.provider\"):60109,y=r?Symbol[\"for\"](\"react.context\"):60110,z=r?Symbol[\"for\"](\"react.async_mode\"):60111,A=r?Symbol[\"for\"](\"react.forward_ref\"):\n60112,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=arguments.length-1,e=\"http://reactjs.org/docs/error-decoder.html?invariant\\x3d\"+a,c=0;cO.length&&O.push(a)}\nfunction R(a,b,e,c){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case t:case u:g=!0}}if(g)return e(c,a,\"\"===b?\".\"+S(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;h\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/blank.svg\n// module id = 15\n// module chunks = 0","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/loading-balls.svg\n// module id = 16\n// module chunks = 0","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/loading-bars.svg\n// module id = 17\n// module chunks = 0","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/loading-bubbles.svg\n// module id = 18\n// module chunks = 0","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/loading-cubes.svg\n// module id = 19\n// module chunks = 0","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/loading-cylon.svg\n// module id = 20\n// module chunks = 0","module.exports = \"\\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/loading-spin.svg\n// module id = 21\n// module chunks = 0","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/loading-spinning-bubbles.svg\n// module id = 22\n// module chunks = 0","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/svg/loading-spokes.svg\n// module id = 23\n// module chunks = 0","import { GenIcon } from './lib/iconBase'\r\nexport const WiAlien = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75,15.54c-1.12-2.4-0.95-4.66,0.52-6.79c1.03-1.48,2.6-2.39,4.73-2.72c0.16-0.04,0.34-0.07,0.54-0.08h0.63c2.91,0.09,5.05,1.38,6.4,3.88c0.64,1.18,0.8,2.48,0.48,3.91c-0.26,1.13-0.68,2.19-1.28,3.17c-1.29,2.01-2.63,3.64-4,4.88c-0.07,0.07-0.17,0.16-0.3,0.26c-0.46,0.35-0.89,0.53-1.28,0.54s-0.83-0.14-1.31-0.45c-0.29-0.17-0.53-0.37-0.74-0.59C11.18,19.55,9.71,17.55,8.75,15.54zM8.86,13.33c0.02,0.11,0.05,0.25,0.09,0.44s0.07,0.32,0.09,0.4c0.28,1.26,0.86,2.23,1.73,2.93c0.88,0.7,1.96,1.11,3.26,1.23c0.29,0.03,0.46,0.02,0.51-0.03s0.08-0.23,0.09-0.52c-0.01-0.08-0.03-0.21-0.05-0.39c-0.02-0.18-0.04-0.31-0.06-0.39c-0.25-1.34-0.88-2.32-1.9-2.93c-0.18-0.11-0.39-0.22-0.62-0.34s-0.44-0.2-0.61-0.27c-0.17-0.07-0.4-0.16-0.69-0.27c-0.29-0.11-0.5-0.19-0.63-0.25c-0.16-0.06-0.42-0.1-0.8-0.11C8.95,12.83,8.81,13,8.86,13.33zM15.66,17.73c-0.02,0.31,0,0.49,0.06,0.56c0.07,0.07,0.25,0.08,0.55,0.04c0.38-0.04,0.78-0.12,1.2-0.22c1.07-0.27,1.94-0.84,2.62-1.71c0.34-0.41,0.6-0.86,0.77-1.34s0.34-1.05,0.47-1.72c0.05-0.23,0.04-0.38-0.03-0.46c-0.07-0.08-0.22-0.11-0.44-0.08c-0.59,0.1-1.12,0.23-1.59,0.4c-1.15,0.43-2.02,1.01-2.62,1.74C16.05,15.68,15.72,16.6,15.66,17.73z\"}}]})(props);\r\n}\r\nexport const WiBarometer = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.69,13.2c0-0.99,0.19-1.94,0.58-2.85c0.39-0.91,0.91-1.68,1.57-2.33s1.44-1.17,2.34-1.56c0.9-0.39,1.85-0.58,2.84-0.58c0.99,0,1.94,0.19,2.85,0.58c0.9,0.39,1.68,0.91,2.33,1.56c0.65,0.65,1.17,1.43,1.56,2.33s0.58,1.85,0.58,2.85c0,1.62-0.48,3.06-1.44,4.34c-0.96,1.27-2.2,2.14-3.71,2.61v3.29h-4.24v-3.25c-1.54-0.45-2.81-1.32-3.79-2.61S7.69,14.83,7.69,13.2zM9.3,13.2c0,1.55,0.56,2.88,1.69,3.99c1.11,1.12,2.45,1.68,4.02,1.68c1.03,0,1.99-0.25,2.86-0.76c0.88-0.51,1.57-1.2,2.09-2.07c0.51-0.87,0.77-1.82,0.77-2.85c0-0.77-0.15-1.5-0.45-2.21s-0.71-1.31-1.22-1.82c-0.51-0.51-1.12-0.92-1.83-1.22c-0.71-0.3-1.44-0.45-2.21-0.45c-0.77,0-1.5,0.15-2.21,0.45s-1.31,0.71-1.82,1.22c-0.51,0.51-0.92,1.12-1.22,1.82C9.45,11.7,9.3,12.43,9.3,13.2zM9.88,13.56v-0.72h2.17v0.72H9.88zM10.97,10.02l0.52-0.52l1.52,1.52l-0.52,0.53L10.97,10.02zM13.5,14.95c0-0.42,0.15-0.78,0.44-1.09c0.29-0.31,0.65-0.47,1.06-0.48l2.73-4.49l0.66,0.35l-2.02,4.83c0.18,0.25,0.26,0.54,0.26,0.88c0,0.44-0.15,0.81-0.46,1.11c-0.31,0.3-0.68,0.45-1.12,0.45c-0.43,0-0.8-0.15-1.1-0.45C13.65,15.76,13.5,15.39,13.5,14.95z M14.81,10.28V8.12h0.69v2.17H14.81z M17.75,13.55v-0.74h2.17v0.74H17.75z\"}}]})(props);\r\n}\r\nexport const WiCelsius = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.75,10.98c0-0.5,0.18-0.93,0.53-1.28c0.36-0.36,0.78-0.53,1.28-0.53c0.49,0,0.92,0.18,1.27,0.53c0.35,0.36,0.53,0.78,0.53,1.28c0,0.5-0.18,0.93-0.53,1.28c-0.35,0.36-0.78,0.53-1.27,0.53c-0.5,0-0.93-0.18-1.28-0.53S9.75,11.48,9.75,10.98zM10.63,10.98c0,0.26,0.09,0.48,0.27,0.67c0.19,0.19,0.41,0.28,0.67,0.28c0.26,0,0.48-0.09,0.67-0.28s0.28-0.41,0.28-0.67c0-0.26-0.09-0.48-0.28-0.67s-0.41-0.28-0.67-0.28c-0.26,0-0.48,0.09-0.67,0.28C10.72,10.49,10.63,10.72,10.63,10.98zM14.52,15.4c0,0.77,0.21,1.45,0.64,2.05c0.22,0.31,0.53,0.56,0.93,0.75c0.39,0.18,0.84,0.28,1.34,0.28c1.46,0,2.38-0.56,2.75-1.67c0.04-0.14,0.02-0.28-0.06-0.41c-0.08-0.13-0.19-0.2-0.33-0.23c-0.14-0.04-0.28-0.02-0.4,0.07c-0.12,0.08-0.2,0.19-0.23,0.34c0,0.01,0,0.02-0.01,0.05l-0.02,0.07c-0.11,0.19-0.26,0.34-0.45,0.45c-0.31,0.19-0.72,0.28-1.23,0.28c-0.31,0-0.59-0.05-0.83-0.16c-0.4-0.17-0.68-0.47-0.85-0.89c-0.11-0.27-0.17-0.6-0.17-0.97v-3.22c0-0.15,0.01-0.3,0.03-0.45c0.04-0.38,0.19-0.73,0.45-1.04c0.29-0.35,0.75-0.52,1.38-0.52c0.52,0,0.93,0.09,1.23,0.27c0.2,0.12,0.35,0.27,0.45,0.45c0.01,0.02,0.01,0.05,0.02,0.08c0.01,0.03,0.01,0.05,0.01,0.06c0.04,0.14,0.12,0.24,0.23,0.3c0.12,0.07,0.25,0.08,0.4,0.05c0.14-0.03,0.25-0.11,0.33-0.23c0.08-0.12,0.1-0.25,0.06-0.4v-0.01l-0.08-0.23c-0.05-0.11-0.14-0.26-0.28-0.43c-0.13-0.18-0.29-0.32-0.45-0.44c-0.21-0.15-0.48-0.27-0.82-0.38c-0.34-0.1-0.71-0.15-1.11-0.15c-0.51,0-0.95,0.09-1.35,0.27c-0.39,0.18-0.7,0.42-0.91,0.73c-0.43,0.59-0.65,1.28-0.65,2.07V15.4z\"}}]})(props);\r\n}\r\nexport const WiCloudDown = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.61,16.88c0,1.34,0.47,2.48,1.4,3.44c0.93,0.96,2.07,1.47,3.4,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.34c0-0.12-0.06-0.18-0.17-0.18c-0.86-0.04-1.59-0.38-2.19-1.02c-0.6-0.64-0.9-1.39-0.9-2.26c0-0.83,0.28-1.55,0.85-2.17c0.57-0.62,1.27-0.97,2.1-1.07L9.8,13.6c0.13,0,0.2-0.06,0.2-0.17l0.08-0.55c0.1-1.08,0.55-1.99,1.36-2.71c0.81-0.73,1.76-1.09,2.86-1.09c1.09,0,2.04,0.36,2.86,1.09c0.82,0.73,1.28,1.63,1.4,2.71l0.07,0.58c0,0.11,0.06,0.17,0.17,0.17h1.62c0.89,0,1.66,0.32,2.31,0.97c0.65,0.64,0.98,1.4,0.98,2.28c0,0.87-0.3,1.62-0.91,2.26c-0.61,0.64-1.34,0.98-2.19,1.02c-0.13,0-0.19,0.06-0.19,0.18v1.34c0,0.11,0.06,0.17,0.19,0.17c0.88-0.02,1.68-0.26,2.41-0.72c0.73-0.45,1.31-1.05,1.73-1.8s0.63-1.57,0.63-2.45c0-0.9-0.22-1.73-0.67-2.48c-0.44-0.76-1.05-1.35-1.81-1.79s-1.59-0.65-2.49-0.65h-0.33c-0.33-1.34-1.03-2.43-2.1-3.29s-2.31-1.28-3.69-1.28c-1.41,0-2.67,0.44-3.76,1.31s-1.8,2-2.11,3.37c-1.1,0.26-2.01,0.84-2.73,1.74S4.61,15.73,4.61,16.88zM11.58,18.4c0,0.24,0.08,0.44,0.24,0.6l2.59,2.61c0.12,0.16,0.32,0.23,0.57,0.23c0.28,0,0.48-0.08,0.61-0.23l2.6-2.61c0.16-0.17,0.24-0.38,0.24-0.6c0-0.23-0.08-0.43-0.24-0.58s-0.36-0.23-0.6-0.23c-0.24,0-0.44,0.08-0.62,0.23l-1.12,1.11v-3.98c0-0.24-0.08-0.43-0.25-0.59c-0.17-0.16-0.37-0.23-0.61-0.23s-0.43,0.08-0.59,0.23c-0.16,0.16-0.23,0.35-0.23,0.59v3.98l-1.1-1.11c-0.18-0.16-0.38-0.23-0.63-0.23c-0.25,0-0.45,0.08-0.61,0.23C11.66,17.97,11.58,18.17,11.58,18.4z\"}}]})(props);\r\n}\r\nexport const WiCloudRefresh = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.63,16.91c0,0.66,0.12,1.28,0.38,1.88c0.25,0.6,0.59,1.11,1.02,1.55c0.43,0.43,0.94,0.79,1.53,1.05c0.59,0.27,1.21,0.42,1.87,0.45c0.11,0,0.17-0.06,0.17-0.17v-1.33c0-0.12-0.06-0.19-0.17-0.19c-0.87-0.06-1.6-0.41-2.19-1.03s-0.89-1.36-0.89-2.21c0-0.84,0.28-1.57,0.85-2.19c0.57-0.62,1.26-0.97,2.1-1.04l0.52-0.07c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.07-0.71,0.3-1.36,0.69-1.95c0.39-0.58,0.9-1.04,1.52-1.37s1.29-0.49,2.01-0.49c1.09,0,2.05,0.36,2.86,1.08c0.82,0.72,1.28,1.62,1.39,2.7l0.06,0.57c0,0.12,0.06,0.18,0.19,0.18h1.61c0.9,0,1.67,0.32,2.32,0.97c0.64,0.64,0.97,1.41,0.97,2.3c0,0.85-0.3,1.59-0.89,2.21c-0.59,0.62-1.32,0.97-2.19,1.03c-0.13,0-0.2,0.06-0.2,0.19v1.33c0,0.11,0.07,0.17,0.2,0.17c1.34-0.06,2.47-0.57,3.39-1.51s1.38-2.09,1.38-3.42c0-0.89-0.22-1.72-0.67-2.48c-0.45-0.76-1.05-1.36-1.81-1.8c-0.76-0.44-1.59-0.67-2.48-0.67h-0.32c-0.33-1.33-1.04-2.42-2.11-3.28C16.9,7.82,15.67,7.4,14.3,7.4c-1.41,0-2.66,0.44-3.75,1.33s-1.8,2.01-2.11,3.38c-1.11,0.26-2.02,0.84-2.73,1.74C4.99,14.74,4.63,15.76,4.63,16.91zM10.86,18.18c0,0.74,0.19,1.43,0.56,2.07s0.88,1.14,1.51,1.51c0.63,0.38,1.32,0.56,2.06,0.56c1.15,0,2.13-0.41,2.95-1.22c0.82-0.82,1.23-1.79,1.23-2.92c0-0.23-0.08-0.43-0.25-0.6c-0.17-0.17-0.37-0.25-0.61-0.25c-0.24,0-0.44,0.08-0.61,0.25s-0.26,0.37-0.26,0.6c0,0.67-0.24,1.24-0.72,1.73c-0.48,0.48-1.05,0.72-1.73,0.72c-0.66,0-1.23-0.24-1.71-0.72c-0.48-0.48-0.72-1.06-0.72-1.73c0-0.6,0.18-1.13,0.53-1.6c0.36-0.47,0.79-0.73,1.31-0.77l-0.41,0.39c-0.15,0.15-0.23,0.34-0.23,0.57c0,0.25,0.07,0.47,0.23,0.66c0.14,0.15,0.31,0.23,0.53,0.23c0.22,0.01,0.45-0.07,0.7-0.23l1.82-1.87c0.17-0.17,0.25-0.36,0.25-0.58c0-0.25-0.08-0.45-0.25-0.61l-1.82-1.83c-0.19-0.18-0.39-0.26-0.62-0.26c-0.23,0-0.43,0.08-0.59,0.25c-0.16,0.17-0.24,0.37-0.24,0.61c0,0.24,0.07,0.43,0.23,0.58l0.35,0.36c-1,0.17-1.83,0.63-2.49,1.4C11.19,16.24,10.86,17.14,10.86,18.18z\"}}]})(props);\r\n}\r\nexport const WiCloudUp = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.64,16.88c0,1.33,0.46,2.48,1.39,3.43c0.93,0.96,2.06,1.47,3.4,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.33c0-0.12-0.06-0.19-0.17-0.19c-0.86-0.04-1.58-0.38-2.18-1.02s-0.9-1.39-0.9-2.25c0-0.82,0.28-1.54,0.84-2.16c0.56-0.61,1.26-0.97,2.1-1.07h0.53c0.13,0,0.2-0.06,0.2-0.18l0.06-0.57c0.11-1.08,0.57-1.99,1.38-2.72s1.77-1.1,2.86-1.1c1.08,0,2.03,0.37,2.85,1.1c0.82,0.73,1.28,1.64,1.39,2.72l0.08,0.57c0,0.12,0.06,0.18,0.18,0.18h1.61c0.89,0,1.66,0.32,2.31,0.96s0.98,1.4,0.98,2.26c0,0.86-0.3,1.61-0.9,2.25c-0.6,0.64-1.33,0.98-2.18,1.02c-0.13,0-0.2,0.06-0.2,0.19v1.33c0,0.11,0.07,0.17,0.2,0.17c0.87-0.02,1.67-0.26,2.4-0.71c0.73-0.45,1.31-1.05,1.73-1.8c0.42-0.75,0.63-1.57,0.63-2.44c0-0.67-0.13-1.31-0.39-1.91c-0.26-0.61-0.62-1.13-1.06-1.57c-0.44-0.44-0.97-0.79-1.58-1.05c-0.61-0.26-1.25-0.39-1.92-0.39h-0.32c-0.33-1.34-1.03-2.43-2.11-3.29c-1.07-0.85-2.3-1.28-3.68-1.28c-1.41,0-2.67,0.44-3.76,1.32s-1.79,2-2.1,3.36c-1.11,0.26-2.02,0.83-2.73,1.73C4.99,14.71,4.64,15.73,4.64,16.88zM11.58,17.51c0,0.25,0.08,0.46,0.24,0.64c0.15,0.15,0.35,0.23,0.61,0.23c0.24,0,0.45-0.08,0.62-0.23l1.11-1.14v3.98c0,0.24,0.08,0.44,0.23,0.61c0.16,0.17,0.35,0.25,0.59,0.25c0.23,0,0.43-0.08,0.6-0.25c0.17-0.17,0.25-0.37,0.25-0.61v-3.94l1.12,1.11c0.4,0.31,0.81,0.31,1.22,0c0.16-0.15,0.24-0.36,0.24-0.62c0-0.24-0.08-0.44-0.24-0.62l-2.59-2.57c-0.16-0.16-0.36-0.24-0.6-0.24c-0.24,0-0.44,0.08-0.59,0.24l-2.58,2.57C11.66,17.08,11.58,17.27,11.58,17.51z\"}}]})(props);\r\n}\r\nexport const WiCloud = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.61,16.88c0-1.15,0.36-2.17,1.08-3.07c0.72-0.9,1.63-1.48,2.74-1.73c0.31-1.37,1.02-2.49,2.11-3.37s2.35-1.32,3.76-1.32c1.38,0,2.61,0.43,3.69,1.28s1.78,1.95,2.1,3.29h0.33c0.9,0,1.73,0.22,2.49,0.65s1.37,1.03,1.81,1.79c0.44,0.76,0.67,1.58,0.67,2.48c0,0.88-0.21,1.7-0.63,2.45s-1,1.35-1.73,1.8c-0.73,0.45-1.54,0.69-2.41,0.72H9.41c-1.34-0.06-2.47-0.57-3.4-1.53C5.08,19.37,4.61,18.22,4.61,16.88zM6.32,16.88c0,0.87,0.3,1.62,0.9,2.26s1.33,0.98,2.19,1.03h11.19c0.86-0.04,1.59-0.39,2.19-1.03c0.61-0.64,0.91-1.4,0.91-2.26c0-0.88-0.33-1.63-0.98-2.27c-0.65-0.64-1.42-0.96-2.32-0.96H18.8c-0.11,0-0.17-0.06-0.17-0.18l-0.07-0.57c-0.11-1.08-0.58-1.99-1.4-2.72c-0.82-0.73-1.77-1.1-2.86-1.1c-1.09,0-2.05,0.37-2.85,1.1c-0.81,0.73-1.27,1.64-1.37,2.72l-0.08,0.57c0,0.12-0.07,0.18-0.2,0.18H9.27c-0.84,0.1-1.54,0.46-2.1,1.07S6.32,16.05,6.32,16.88z\"}}]})(props);\r\n}\r\nexport const WiCloudyGusts = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.62,21.01c0-0.25,0.08-0.46,0.25-0.63c0.17-0.16,0.37-0.24,0.6-0.24h5.42c0.74,0,1.37,0.26,1.89,0.79c0.52,0.53,0.78,1.16,0.78,1.9c0,0.74-0.26,1.38-0.78,1.9c-0.52,0.52-1.15,0.78-1.89,0.78s-1.38-0.26-1.9-0.79c-0.16-0.16-0.23-0.36-0.23-0.6c0-0.24,0.08-0.45,0.23-0.6c0.15-0.16,0.35-0.24,0.6-0.24c0.23,0,0.43,0.08,0.61,0.24c0.2,0.19,0.43,0.29,0.69,0.29s0.49-0.1,0.68-0.29c0.19-0.19,0.29-0.42,0.29-0.7c0-0.26-0.1-0.49-0.29-0.68s-0.42-0.29-0.68-0.29H4.47c-0.23,0-0.43-0.08-0.6-0.25S3.62,21.25,3.62,21.01zM3.62,17.97c0-0.24,0.08-0.45,0.25-0.62c0.17-0.16,0.37-0.24,0.6-0.24h10.55c0.26,0,0.49-0.1,0.68-0.29c0.19-0.19,0.29-0.43,0.29-0.69s-0.1-0.5-0.29-0.69c-0.19-0.19-0.42-0.29-0.68-0.29c-0.28,0-0.5,0.09-0.68,0.28c-0.18,0.15-0.39,0.23-0.64,0.23c-0.24,0-0.44-0.08-0.6-0.23c-0.15-0.15-0.23-0.35-0.23-0.6c0-0.25,0.07-0.45,0.23-0.61c0.51-0.51,1.15-0.76,1.92-0.76c0.74,0,1.38,0.26,1.9,0.78c0.52,0.52,0.78,1.15,0.78,1.88s-0.26,1.37-0.78,1.89c-0.52,0.52-1.15,0.78-1.9,0.78H4.47c-0.24,0-0.44-0.08-0.6-0.24C3.7,18.4,3.62,18.2,3.62,17.97zM5.77,15.61c0,0.08,0.05,0.12,0.16,0.12h1.44c0.08,0,0.15-0.05,0.22-0.15c0.22-0.54,0.58-0.99,1.05-1.35c0.48-0.36,1.01-0.56,1.59-0.6l0.53-0.08c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.11-1.08,0.56-1.99,1.37-2.72s1.76-1.1,2.86-1.1c1.11,0,2.07,0.36,2.88,1.09c0.81,0.73,1.27,1.64,1.39,2.73l0.07,0.59c0,0.11,0.06,0.17,0.17,0.17h1.62c0.91,0,1.68,0.32,2.33,0.96c0.65,0.64,0.97,1.4,0.97,2.3c0,0.89-0.32,1.66-0.97,2.3c-0.65,0.64-1.42,0.96-2.33,0.96h-6.91c-0.12,0-0.19,0.06-0.19,0.17v1.39c0,0.11,0.06,0.17,0.19,0.17h6.91c0.91,0,1.74-0.22,2.51-0.67c0.77-0.44,1.37-1.05,1.82-1.81c0.45-0.77,0.67-1.6,0.67-2.5c0-0.91-0.22-1.74-0.67-2.5c-0.45-0.76-1.05-1.37-1.82-1.81c-0.77-0.44-1.6-0.67-2.51-0.67h-0.31c-0.31-1.33-1.01-2.42-2.1-3.27c-1.08-0.85-2.33-1.27-3.73-1.27c-1.41,0-2.66,0.44-3.75,1.32s-1.78,2-2.07,3.37c-0.86,0.2-1.62,0.61-2.28,1.23s-1.12,1.36-1.38,2.21v0.04C5.77,15.56,5.77,15.58,5.77,15.61z\"}}]})(props);\r\n}\r\nexport const WiCloudyWindy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.1,21.04c0-0.24,0.08-0.45,0.25-0.61s0.38-0.24,0.63-0.24h8.97c0.24,0,0.43,0.08,0.59,0.24c0.16,0.16,0.23,0.36,0.23,0.61c0,0.24-0.08,0.44-0.24,0.6c-0.16,0.16-0.35,0.24-0.59,0.24H3.98c-0.25,0-0.46-0.08-0.63-0.24S3.1,21.27,3.1,21.04zM5.73,17.98c0-0.24,0.09-0.44,0.27-0.6c0.14-0.15,0.34-0.23,0.59-0.23h9c0.23,0,0.42,0.08,0.58,0.23s0.23,0.35,0.23,0.59c0,0.24-0.08,0.44-0.23,0.61c-0.15,0.17-0.35,0.25-0.58,0.25h-9c-0.23,0-0.43-0.09-0.6-0.26S5.73,18.21,5.73,17.98zM6.35,15.65c0,0.09,0.06,0.14,0.17,0.14h1.43c0.09,0,0.17-0.05,0.23-0.14c0.23-0.54,0.57-0.99,1.04-1.35s0.99-0.56,1.58-0.6l0.54-0.07c0.11,0,0.17-0.06,0.17-0.18l0.07-0.52c0.11-1.09,0.58-1.99,1.39-2.72c0.82-0.73,1.77-1.09,2.87-1.09c1.09,0,2.03,0.36,2.83,1.07c0.8,0.72,1.27,1.62,1.41,2.7l0.07,0.59c0,0.11,0.06,0.16,0.18,0.16h1.6c0.91,0,1.68,0.32,2.32,0.96c0.64,0.64,0.96,1.41,0.96,2.32c0,0.88-0.33,1.64-0.97,2.28c-0.65,0.65-1.42,0.97-2.31,0.97h-6.89c-0.12,0-0.18,0.06-0.18,0.17v1.34c0,0.12,0.06,0.18,0.18,0.18h6.89c0.68,0,1.32-0.13,1.94-0.39s1.14-0.61,1.58-1.05s0.79-0.97,1.05-1.58s0.39-1.25,0.39-1.92c0-0.9-0.22-1.73-0.66-2.49c-0.44-0.76-1.04-1.36-1.8-1.8c-0.76-0.44-1.6-0.66-2.5-0.66h-0.31c-0.33-1.34-1.03-2.44-2.1-3.3c-1.08-0.85-2.3-1.28-3.68-1.28c-1.42,0-2.67,0.44-3.76,1.33c-1.09,0.88-1.78,2.01-2.08,3.39c-0.86,0.19-1.62,0.6-2.27,1.21s-1.1,1.35-1.36,2.22v0.02C6.36,15.6,6.35,15.62,6.35,15.65zM7.5,24.13c0-0.24,0.09-0.44,0.26-0.6c0.15-0.16,0.35-0.23,0.59-0.23h8.99c0.24,0,0.45,0.08,0.61,0.24c0.17,0.16,0.25,0.36,0.25,0.6c0,0.24-0.08,0.44-0.25,0.61c-0.17,0.17-0.37,0.25-0.61,0.25H8.35c-0.23,0-0.43-0.08-0.6-0.25C7.58,24.57,7.5,24.37,7.5,24.13z\"}}]})(props);\r\n}\r\nexport const WiCloudy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.89,17.6c0-0.99,0.31-1.88,0.93-2.65s1.41-1.27,2.38-1.49c0.26-1.17,0.85-2.14,1.78-2.88c0.93-0.75,2-1.12,3.22-1.12c1.18,0,2.24,0.36,3.16,1.09c0.93,0.73,1.53,1.66,1.8,2.8h0.27c1.18,0,2.18,0.41,3.01,1.24s1.25,1.83,1.25,3c0,1.18-0.42,2.18-1.25,3.01s-1.83,1.25-3.01,1.25H8.16c-0.58,0-1.13-0.11-1.65-0.34S5.52,21,5.14,20.62c-0.38-0.38-0.68-0.84-0.91-1.36S3.89,18.17,3.89,17.6zM5.34,17.6c0,0.76,0.28,1.42,0.82,1.96s1.21,0.82,1.99,0.82h9.28c0.77,0,1.44-0.27,1.99-0.82c0.55-0.55,0.83-1.2,0.83-1.96c0-0.76-0.27-1.42-0.83-1.96c-0.55-0.54-1.21-0.82-1.99-0.82h-1.39c-0.1,0-0.15-0.05-0.15-0.15l-0.07-0.49c-0.1-0.94-0.5-1.73-1.19-2.35s-1.51-0.93-2.45-0.93c-0.94,0-1.76,0.31-2.46,0.94c-0.7,0.62-1.09,1.41-1.18,2.34l-0.07,0.42c0,0.1-0.05,0.15-0.16,0.15l-0.45,0.07c-0.72,0.06-1.32,0.36-1.81,0.89C5.59,16.24,5.34,16.87,5.34,17.6zM14.19,8.88c-0.1,0.09-0.08,0.16,0.07,0.21c0.43,0.19,0.79,0.37,1.08,0.55c0.11,0.03,0.19,0.02,0.22-0.03c0.61-0.57,1.31-0.86,2.12-0.86c0.81,0,1.5,0.27,2.1,0.81c0.59,0.54,0.92,1.21,0.99,2l0.09,0.64h1.42c0.65,0,1.21,0.23,1.68,0.7c0.47,0.47,0.7,1.02,0.7,1.66c0,0.6-0.21,1.12-0.62,1.57s-0.92,0.7-1.53,0.77c-0.1,0-0.15,0.05-0.15,0.16v1.13c0,0.11,0.05,0.16,0.15,0.16c1.01-0.06,1.86-0.46,2.55-1.19s1.04-1.6,1.04-2.6c0-1.06-0.37-1.96-1.12-2.7c-0.75-0.75-1.65-1.12-2.7-1.12h-0.15c-0.26-1-0.81-1.82-1.65-2.47c-0.83-0.65-1.77-0.97-2.8-0.97C16.28,7.29,15.11,7.82,14.19,8.88z\"}}]})(props);\r\n}\r\nexport const WiDayCloudyGusts = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0.35,21.01c0,0.24,0.09,0.44,0.27,0.6c0.17,0.17,0.37,0.25,0.61,0.25h5.88c0.26,0,0.48,0.09,0.68,0.28c0.2,0.19,0.3,0.42,0.3,0.68s-0.1,0.5-0.3,0.69c-0.2,0.19-0.42,0.29-0.68,0.29c-0.26,0-0.48-0.1-0.68-0.3c-0.18-0.16-0.38-0.24-0.61-0.24c-0.24,0-0.44,0.08-0.6,0.24c-0.16,0.16-0.24,0.36-0.24,0.6c0,0.24,0.08,0.44,0.24,0.6c0.53,0.53,1.16,0.8,1.89,0.8c0.74,0,1.37-0.26,1.88-0.78c0.52-0.52,0.78-1.15,0.78-1.89s-0.26-1.37-0.78-1.89c-0.52-0.53-1.15-0.79-1.88-0.79H1.23c-0.24,0-0.44,0.09-0.62,0.26S0.35,20.78,0.35,21.01zM0.35,18c0,0.22,0.09,0.41,0.27,0.57c0.17,0.17,0.37,0.25,0.61,0.25H12.2c0.74,0,1.37-0.26,1.89-0.78c0.52-0.52,0.78-1.15,0.78-1.89c0-0.74-0.26-1.36-0.78-1.88c-0.52-0.51-1.15-0.77-1.89-0.77c-0.76,0-1.38,0.25-1.88,0.76c-0.16,0.16-0.23,0.37-0.23,0.61c0,0.24,0.08,0.44,0.23,0.6c0.15,0.15,0.35,0.23,0.6,0.23c0.24,0,0.44-0.08,0.62-0.23c0.19-0.19,0.41-0.28,0.67-0.28c0.26,0,0.49,0.09,0.68,0.28c0.19,0.19,0.29,0.42,0.29,0.68c0,0.27-0.1,0.5-0.29,0.69c-0.19,0.19-0.42,0.29-0.68,0.29H1.23c-0.24,0-0.44,0.09-0.62,0.26C0.43,17.57,0.35,17.77,0.35,18zM3,15.65c0,0.08,0.06,0.12,0.17,0.12H4.6c0.07,0,0.13-0.05,0.2-0.14c0.22-0.54,0.57-0.99,1.05-1.35c0.47-0.35,1-0.55,1.6-0.6l0.53-0.07c0.12,0,0.19-0.06,0.19-0.17l0.07-0.52c0.11-1.08,0.56-1.98,1.37-2.71c0.81-0.73,1.76-1.09,2.85-1.09c1.1,0,2.05,0.36,2.86,1.08s1.27,1.63,1.38,2.71l0.07,0.58c0,0.12,0.06,0.18,0.18,0.18h1.63c0.9,0,1.67,0.31,2.3,0.94c0.63,0.63,0.95,1.39,0.95,2.27c0,0.89-0.32,1.66-0.95,2.29c-0.63,0.63-1.4,0.95-2.3,0.95h-6.9c-0.13,0-0.19,0.06-0.19,0.18v1.37c0,0.11,0.06,0.17,0.19,0.17h6.9c0.89,0,1.72-0.22,2.48-0.67c0.76-0.44,1.36-1.05,1.8-1.81c0.44-0.76,0.66-1.59,0.66-2.48c0-0.74-0.14-1.41-0.42-2.03c0.76-0.99,1.13-2.1,1.13-3.31c0-0.94-0.24-1.81-0.71-2.62s-1.11-1.45-1.92-1.92c-0.81-0.47-1.68-0.71-2.62-0.71c-1.54,0-2.83,0.58-3.86,1.73c-0.8-0.41-1.69-0.61-2.67-0.61c-1.41,0-2.65,0.44-3.73,1.31s-1.77,1.99-2.06,3.34c-0.85,0.2-1.6,0.61-2.25,1.23c-0.65,0.62-1.11,1.35-1.36,2.19v0.04C3.01,15.59,3,15.62,3,15.65zM11.18,4.62c0,0.23,0.09,0.43,0.27,0.6l0.61,0.65c0.16,0.16,0.37,0.24,0.61,0.24c0.25,0,0.45-0.08,0.61-0.23c0.16-0.15,0.24-0.35,0.24-0.6c0-0.24-0.07-0.44-0.23-0.6l-0.66-0.65c-0.16-0.17-0.35-0.26-0.59-0.26s-0.44,0.08-0.61,0.25C11.26,4.19,11.18,4.39,11.18,4.62zM16.5,9.03c0.72-0.68,1.54-1.02,2.48-1.02c0.97,0,1.8,0.35,2.51,1.05c0.7,0.7,1.05,1.54,1.05,2.51c0,0.65-0.17,1.26-0.52,1.83c-0.96-0.96-2.11-1.43-3.46-1.43h-0.34C17.99,10.88,17.41,9.9,16.5,9.03zM18.12,3.79c0,0.23,0.08,0.43,0.25,0.59c0.17,0.16,0.37,0.24,0.6,0.24c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.35,0.25-0.59V1.74c0-0.24-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.25-0.61-0.25c-0.24,0-0.44,0.08-0.6,0.25s-0.25,0.37-0.25,0.61V3.79zM23.67,6.06c0,0.24,0.08,0.44,0.23,0.6c0.17,0.17,0.37,0.25,0.61,0.26s0.43-0.08,0.57-0.26l1.46-1.43c0.17-0.17,0.25-0.37,0.25-0.61c0-0.23-0.08-0.43-0.25-0.6c-0.17-0.17-0.37-0.25-0.61-0.25S25.49,3.84,25.33,4L23.9,5.47C23.75,5.63,23.67,5.82,23.67,6.06zM24.44,17.89c0,0.23,0.08,0.43,0.25,0.6l0.64,0.65c0.2,0.16,0.41,0.24,0.62,0.24c0.19,0,0.39-0.08,0.59-0.24c0.17-0.17,0.25-0.37,0.25-0.6c0-0.22-0.08-0.42-0.25-0.61l-0.64-0.65c-0.16-0.16-0.36-0.24-0.58-0.24c-0.25,0-0.46,0.08-0.63,0.25C24.52,17.45,24.44,17.65,24.44,17.89zM25.95,11.57c0,0.24,0.08,0.43,0.25,0.59c0.15,0.18,0.34,0.26,0.57,0.26h2.02c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.25-0.37,0.25-0.6c0-0.23-0.09-0.43-0.26-0.6c-0.17-0.17-0.37-0.26-0.6-0.26h-2.02c-0.24,0-0.43,0.08-0.59,0.25C26.03,11.13,25.95,11.33,25.95,11.57z\"}}]})(props);\r\n}\r\nexport const WiDayCloudyHigh = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.95,13.05c0-0.93,0.29-1.75,0.87-2.48s1.31-1.2,2.19-1.4c0.26-1.1,0.82-2,1.7-2.71s1.88-1.06,3.01-1.06c1.1,0,2.08,0.35,2.95,1.04s1.43,1.57,1.68,2.65h0.26c1.1,0,2.04,0.39,2.82,1.16c0.78,0.77,1.17,1.71,1.17,2.81c0,0.01,0,0.02,0,0.04c0,0.02,0,0.04,0,0.06c0.75,0.8,1.12,1.75,1.12,2.85c0,0.76-0.19,1.46-0.57,2.1c-0.38,0.65-0.89,1.16-1.53,1.53c-0.64,0.38-1.34,0.56-2.09,0.56c-0.96,0-1.82-0.3-2.56-0.89s-1.24-1.35-1.48-2.26H7.79C6.72,17,5.81,16.59,5.07,15.82S3.95,14.12,3.95,13.05zM5.31,13.05c0,0.7,0.24,1.31,0.73,1.82s1.07,0.79,1.75,0.82h8.99c0.68-0.03,1.27-0.3,1.75-0.82c0.49-0.52,0.73-1.12,0.73-1.82c0-0.71-0.26-1.32-0.79-1.83c-0.53-0.52-1.14-0.77-1.86-0.77h-1.29c-0.09,0-0.14-0.05-0.14-0.14l-0.07-0.47c-0.09-0.87-0.46-1.6-1.12-2.19s-1.42-0.89-2.28-0.89c-0.89,0-1.66,0.29-2.31,0.88S8.4,8.96,8.31,9.83L8.25,10.3c0,0.09-0.05,0.14-0.16,0.14h-0.4C7.02,10.52,6.45,10.8,6,11.3C5.54,11.79,5.31,12.38,5.31,13.05zM11.51,22.06c-0.25-0.33-0.25-0.65,0-0.98l1.13-1.15c0.14-0.12,0.31-0.18,0.52-0.18c0.19,0,0.34,0.06,0.46,0.18c0.12,0.12,0.18,0.28,0.18,0.47c0,0.2-0.06,0.36-0.18,0.48l-1.14,1.18c-0.12,0.12-0.29,0.19-0.49,0.19C11.79,22.25,11.63,22.18,11.51,22.06zM14.9,17.04c0.21,0.54,0.56,0.97,1.04,1.3c0.48,0.33,1.01,0.5,1.6,0.5c0.77,0,1.43-0.28,1.97-0.83c0.54-0.56,0.81-1.23,0.81-2.02c0-0.39-0.06-0.74-0.19-1.05c-0.33,0.61-0.8,1.11-1.39,1.49c-0.6,0.38-1.25,0.58-1.96,0.61H14.9zM16.85,22.23c0-0.19,0.07-0.34,0.2-0.47c0.13-0.12,0.3-0.19,0.48-0.19c0.18,0,0.35,0.07,0.5,0.21c0.12,0.12,0.19,0.27,0.19,0.45v1.64c0,0.19-0.07,0.35-0.2,0.49c-0.13,0.14-0.3,0.21-0.48,0.21s-0.35-0.07-0.48-0.21c-0.13-0.14-0.2-0.3-0.2-0.49V22.23zM21.26,20.4c0-0.18,0.06-0.33,0.19-0.46c0.13-0.12,0.29-0.19,0.47-0.19c0.19,0,0.35,0.06,0.47,0.18l1.18,1.15c0.13,0.14,0.2,0.3,0.2,0.48c0,0.19-0.07,0.35-0.2,0.48c-0.13,0.13-0.3,0.2-0.49,0.2c-0.21,0-0.37-0.06-0.5-0.19l-1.13-1.18C21.32,20.73,21.26,20.57,21.26,20.4zM21.26,11.59c0-0.19,0.06-0.35,0.19-0.47l1.13-1.18c0.14-0.12,0.3-0.19,0.5-0.19c0.19,0,0.35,0.06,0.5,0.19c0.13,0.15,0.2,0.32,0.2,0.51c0,0.18-0.07,0.33-0.2,0.48l-1.18,1.15c-0.12,0.12-0.28,0.19-0.47,0.19s-0.35-0.06-0.47-0.19C21.32,11.94,21.26,11.78,21.26,11.59zM23.08,15.99c0-0.19,0.06-0.35,0.19-0.48c0.12-0.13,0.28-0.2,0.47-0.2h1.62c0.19,0,0.36,0.07,0.5,0.2s0.21,0.29,0.21,0.48c0,0.19-0.07,0.36-0.21,0.49c-0.14,0.13-0.3,0.2-0.5,0.2h-1.62c-0.19,0-0.34-0.07-0.47-0.2C23.14,16.35,23.08,16.19,23.08,15.99z\"}}]})(props);\r\n}\r\nexport const WiDayCloudyWindy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0.45,20.97c0,0.24,0.08,0.45,0.24,0.61c0.44,0.18,0.73,0.27,0.88,0.27h7.88c0.24,0,0.44-0.09,0.6-0.26c0.17-0.17,0.25-0.38,0.25-0.61c0-0.23-0.08-0.43-0.25-0.59c-0.17-0.16-0.37-0.24-0.6-0.24H1.57c-0.26,0-0.52,0.08-0.76,0.24C0.57,20.55,0.45,20.75,0.45,20.97zM1.84,17.97c0,0.24,0.08,0.43,0.25,0.59c0.15,0.17,0.34,0.26,0.58,0.26h9.4c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.25-0.37,0.25-0.6c0-0.24-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.25-0.61-0.25h-9.4c-0.23,0-0.43,0.08-0.59,0.25C1.92,17.53,1.84,17.73,1.84,17.97zM2.89,15.6c0,0.09,0.06,0.13,0.17,0.13h1.39c0.12,0,0.19-0.04,0.22-0.13c0.26-0.53,0.62-0.97,1.09-1.32c0.47-0.35,1-0.55,1.58-0.62h0.54c0.11,0,0.16-0.06,0.16-0.19l0.07-0.56c0.07-0.71,0.3-1.36,0.69-1.95c0.39-0.58,0.9-1.04,1.53-1.37s1.3-0.5,2.02-0.5c1.09,0,2.04,0.37,2.85,1.1s1.27,1.64,1.39,2.72l0.07,0.56c0,0.12,0.06,0.19,0.18,0.19h1.6c0.89,0,1.65,0.32,2.3,0.96c0.65,0.64,0.97,1.39,0.97,2.27c0,0.9-0.32,1.67-0.97,2.31c-0.64,0.64-1.41,0.96-2.31,0.96h-6.89c-0.11,0-0.17,0.06-0.17,0.19v1.33c0,0.12,0.06,0.18,0.17,0.18h6.89c0.9,0,1.73-0.22,2.49-0.67c0.76-0.44,1.37-1.05,1.81-1.81c0.44-0.76,0.67-1.59,0.67-2.49c0-0.73-0.14-1.39-0.43-2.01c0.78-0.96,1.16-2.06,1.16-3.28c0-0.94-0.24-1.81-0.71-2.62c-0.47-0.81-1.11-1.45-1.92-1.92c-0.81-0.47-1.69-0.71-2.63-0.71c-0.73,0-1.43,0.15-2.1,0.45c-0.67,0.3-1.25,0.71-1.74,1.25c-0.83-0.43-1.73-0.65-2.7-0.65c-1.41,0-2.67,0.44-3.76,1.31s-1.79,1.99-2.09,3.36c-0.85,0.21-1.6,0.63-2.25,1.25s-1.1,1.36-1.35,2.21C2.9,15.55,2.89,15.57,2.89,15.6zM3.6,24.16c0,0.24,0.09,0.43,0.26,0.59C4.02,24.92,4.22,25,4.45,25h9.42c0.23,0,0.43-0.08,0.59-0.25s0.24-0.36,0.24-0.6c0-0.25-0.08-0.46-0.24-0.62s-0.36-0.25-0.6-0.25H4.45c-0.24,0-0.44,0.08-0.6,0.25S3.6,23.91,3.6,24.16zM11.09,4.65c0,0.25,0.08,0.45,0.24,0.6l0.64,0.66c0.16,0.16,0.36,0.24,0.6,0.24c0.26,0,0.46-0.08,0.62-0.24c0.16-0.16,0.24-0.36,0.24-0.61c0-0.23-0.08-0.43-0.24-0.59l-0.65-0.65c-0.17-0.17-0.36-0.25-0.57-0.25c-0.25,0-0.46,0.08-0.63,0.25S11.09,4.42,11.09,4.65zM16.45,9.03c0.66-0.63,1.48-0.95,2.45-0.95c0.97,0,1.8,0.34,2.49,1.03c0.68,0.68,1.03,1.51,1.03,2.49c0,0.67-0.15,1.27-0.46,1.81c-0.94-0.95-2.11-1.43-3.5-1.43h-0.3C17.87,10.83,17.3,9.85,16.45,9.03zM18.05,3.81c0,0.24,0.08,0.43,0.25,0.59s0.36,0.23,0.6,0.23c0.25,0,0.45-0.08,0.6-0.23c0.15-0.15,0.23-0.35,0.23-0.6V1.76c0-0.24-0.08-0.45-0.23-0.61c-0.16-0.17-0.36-0.25-0.6-0.25c-0.23,0-0.43,0.08-0.6,0.25s-0.25,0.37-0.25,0.61V3.81zM23.57,6.09c0,0.24,0.08,0.44,0.25,0.6c0.12,0.16,0.33,0.24,0.6,0.24c0.27,0,0.47-0.08,0.59-0.24l1.46-1.44c0.16-0.15,0.24-0.36,0.24-0.62c0-0.23-0.08-0.43-0.25-0.6c-0.17-0.17-0.37-0.25-0.6-0.25s-0.44,0.08-0.61,0.23L23.83,5.5C23.66,5.67,23.57,5.86,23.57,6.09zM24.37,17.95c0,0.24,0.08,0.44,0.23,0.6l0.66,0.63c0.24,0.18,0.45,0.27,0.61,0.27c0.16,0,0.37-0.09,0.61-0.27c0.16-0.16,0.24-0.36,0.24-0.6c0-0.23-0.08-0.43-0.24-0.61l-0.64-0.61c-0.19-0.17-0.4-0.26-0.65-0.26c-0.24,0-0.43,0.08-0.59,0.24C24.45,17.51,24.37,17.71,24.37,17.95zM25.81,11.63c0,0.24,0.09,0.45,0.27,0.61c0.18,0.17,0.38,0.25,0.6,0.25h2.03c0.23,0,0.42-0.08,0.59-0.25c0.17-0.17,0.25-0.37,0.25-0.61c0-0.22-0.08-0.41-0.24-0.57c-0.16-0.15-0.36-0.23-0.59-0.23h-2.03c-0.24,0-0.45,0.08-0.62,0.23C25.9,11.22,25.81,11.41,25.81,11.63z\"}}]})(props);\r\n}\r\nexport const WiDayCloudy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.56,16.9c0,0.9,0.22,1.73,0.66,2.49s1.04,1.36,1.8,1.8c0.76,0.44,1.58,0.66,2.47,0.66h10.83c0.89,0,1.72-0.22,2.48-0.66c0.76-0.44,1.37-1.04,1.81-1.8c0.44-0.76,0.67-1.59,0.67-2.49c0-0.66-0.14-1.33-0.42-2C22.62,13.98,23,12.87,23,11.6c0-0.71-0.14-1.39-0.41-2.04c-0.27-0.65-0.65-1.2-1.12-1.67C21,7.42,20.45,7.04,19.8,6.77c-0.65-0.28-1.33-0.41-2.04-0.41c-1.48,0-2.77,0.58-3.88,1.74c-0.77-0.44-1.67-0.66-2.7-0.66c-1.41,0-2.65,0.44-3.73,1.31c-1.08,0.87-1.78,1.99-2.08,3.35c-1.12,0.26-2.03,0.83-2.74,1.73S1.56,15.75,1.56,16.9zM3.27,16.9c0-0.84,0.28-1.56,0.84-2.17c0.56-0.61,1.26-0.96,2.1-1.06l0.5-0.03c0.12,0,0.19-0.06,0.19-0.18l0.07-0.54c0.14-1.08,0.61-1.99,1.41-2.71c0.8-0.73,1.74-1.09,2.81-1.09c1.1,0,2.06,0.37,2.87,1.1c0.82,0.73,1.27,1.63,1.37,2.71l0.07,0.58c0.02,0.11,0.09,0.17,0.21,0.17h1.61c0.88,0,1.64,0.32,2.28,0.96c0.64,0.64,0.96,1.39,0.96,2.27c0,0.91-0.32,1.68-0.95,2.32c-0.63,0.64-1.4,0.96-2.28,0.96H6.49c-0.88,0-1.63-0.32-2.27-0.97C3.59,18.57,3.27,17.8,3.27,16.9zM9.97,4.63c0,0.24,0.08,0.45,0.24,0.63l0.66,0.64c0.25,0.19,0.46,0.27,0.64,0.25c0.21,0,0.39-0.09,0.55-0.26s0.24-0.38,0.24-0.62c0-0.24-0.09-0.44-0.26-0.59l-0.59-0.66c-0.18-0.16-0.38-0.24-0.61-0.24c-0.24,0-0.45,0.08-0.62,0.25C10.05,4.19,9.97,4.39,9.97,4.63zM15.31,9.06c0.69-0.67,1.51-1,2.45-1c0.99,0,1.83,0.34,2.52,1.03c0.69,0.69,1.04,1.52,1.04,2.51c0,0.62-0.17,1.24-0.51,1.84C19.84,12.48,18.68,12,17.32,12H17C16.75,10.91,16.19,9.93,15.31,9.06zM16.94,3.78c0,0.26,0.08,0.46,0.23,0.62s0.35,0.23,0.59,0.23c0.26,0,0.46-0.08,0.62-0.23c0.16-0.16,0.23-0.36,0.23-0.62V1.73c0-0.24-0.08-0.43-0.24-0.59s-0.36-0.23-0.61-0.23c-0.24,0-0.43,0.08-0.59,0.23s-0.23,0.35-0.23,0.59V3.78zM22.46,6.07c0,0.26,0.07,0.46,0.22,0.62c0.21,0.16,0.42,0.24,0.62,0.24c0.18,0,0.38-0.08,0.59-0.24l1.43-1.43c0.16-0.18,0.24-0.39,0.24-0.64c0-0.24-0.08-0.44-0.24-0.6c-0.16-0.16-0.36-0.24-0.59-0.24c-0.24,0-0.43,0.08-0.58,0.24l-1.47,1.43C22.53,5.64,22.46,5.84,22.46,6.07zM23.25,17.91c0,0.24,0.08,0.45,0.25,0.63l0.65,0.63c0.15,0.16,0.34,0.24,0.58,0.24s0.44-0.08,0.6-0.25c0.16-0.17,0.24-0.37,0.24-0.62c0-0.22-0.08-0.42-0.24-0.58l-0.65-0.65c-0.16-0.16-0.35-0.24-0.57-0.24c-0.24,0-0.44,0.08-0.6,0.24C23.34,17.47,23.25,17.67,23.25,17.91zM24.72,11.6c0,0.23,0.09,0.42,0.26,0.58c0.16,0.16,0.37,0.24,0.61,0.24h2.04c0.23,0,0.42-0.08,0.58-0.23s0.23-0.35,0.23-0.59c0-0.24-0.08-0.44-0.23-0.6s-0.35-0.25-0.58-0.25h-2.04c-0.24,0-0.44,0.08-0.61,0.25C24.8,11.17,24.72,11.37,24.72,11.6z\"}}]})(props);\r\n}\r\nexport const WiDayFog = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0.32,21.06c0,0.23,0.08,0.43,0.25,0.59c0.17,0.16,0.38,0.24,0.63,0.24h18.71c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.24-0.08-0.44-0.25-0.6c-0.17-0.17-0.37-0.25-0.61-0.25H1.2c-0.25,0-0.46,0.08-0.63,0.25S0.32,20.82,0.32,21.06zM2.94,17.92c0,0.23,0.08,0.43,0.25,0.58c0.17,0.18,0.37,0.27,0.6,0.27h18.72c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.6c0-0.23-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.24-0.59-0.24H3.8c-0.24,0-0.44,0.08-0.6,0.24C3.03,17.5,2.94,17.69,2.94,17.92zM3.07,15.52c0,0.09,0.05,0.13,0.16,0.13h1.43c0.07,0,0.14-0.05,0.21-0.16c0.24-0.52,0.59-0.94,1.06-1.27c0.47-0.33,0.99-0.52,1.56-0.56l0.54-0.07c0.11,0,0.17-0.06,0.17-0.18l0.07-0.51c0.11-1.08,0.56-1.98,1.37-2.71C10.45,9.47,11.4,9.1,12.5,9.1c1.08,0,2.03,0.36,2.84,1.08c0.81,0.72,1.27,1.61,1.38,2.68l0.07,0.58c0,0.11,0.06,0.17,0.19,0.17h1.61c0.64,0,1.23,0.17,1.76,0.52c0.53,0.34,0.92,0.8,1.18,1.37c0.07,0.11,0.13,0.16,0.2,0.16h1.44c0.13,0,0.18-0.07,0.13-0.23l-0.2-0.55c0.76-0.94,1.13-2.04,1.13-3.31c0-0.71-0.14-1.38-0.41-2.03s-0.64-1.2-1.11-1.67c-0.46-0.47-1.02-0.84-1.67-1.12S19.72,6.35,19,6.35c-1.54,0-2.82,0.56-3.82,1.68C14.33,7.61,13.44,7.4,12.5,7.4c-1.4,0-2.65,0.44-3.74,1.32s-1.79,2-2.1,3.37c-1.78,0.47-2.98,1.58-3.58,3.35C3.07,15.45,3.07,15.48,3.07,15.52zM4.69,24.13c0,0.24,0.09,0.44,0.27,0.6c0.16,0.17,0.35,0.26,0.59,0.26h18.74c0.23,0,0.43-0.08,0.6-0.25c0.17-0.17,0.25-0.37,0.25-0.61c0-0.23-0.08-0.42-0.25-0.58c-0.17-0.15-0.37-0.23-0.6-0.23H5.55c-0.24,0-0.44,0.08-0.61,0.23C4.77,23.71,4.69,23.9,4.69,24.13zM11.26,4.66c0,0.24,0.08,0.43,0.23,0.59l0.65,0.64c0.17,0.18,0.36,0.27,0.58,0.27c0.22,0,0.42-0.08,0.6-0.25c0.17-0.17,0.26-0.37,0.26-0.61c0-0.24-0.08-0.45-0.25-0.63l-0.64-0.61c-0.16-0.17-0.36-0.26-0.6-0.26c-0.24,0-0.44,0.08-0.6,0.25C11.34,4.21,11.26,4.42,11.26,4.66zM16.58,9.04c0.67-0.68,1.48-1.01,2.43-1.01c0.98,0,1.82,0.35,2.51,1.04c0.69,0.69,1.04,1.53,1.04,2.5c0,0.65-0.16,1.25-0.49,1.8c-0.95-0.95-2.11-1.42-3.47-1.42h-0.34C17.97,10.77,17.41,9.8,16.58,9.04zM18.18,3.81c0,0.23,0.08,0.43,0.24,0.59c0.16,0.16,0.35,0.24,0.59,0.24c0.25,0,0.46-0.08,0.63-0.24c0.17-0.16,0.25-0.35,0.25-0.59V1.76c0-0.23-0.09-0.43-0.26-0.6C19.45,0.99,19.24,0.91,19,0.91c-0.23,0-0.43,0.08-0.59,0.25c-0.16,0.17-0.24,0.37-0.24,0.6V3.81zM23.67,6.08c0,0.22,0.08,0.43,0.24,0.6c0.37,0.36,0.78,0.36,1.23,0l1.43-1.43c0.16-0.18,0.24-0.39,0.24-0.64c0-0.23-0.08-0.43-0.24-0.59c-0.16-0.16-0.36-0.24-0.59-0.24c-0.24,0-0.44,0.08-0.6,0.24l-1.46,1.47C23.75,5.67,23.67,5.87,23.67,6.08zM24.48,17.88c0,0.24,0.09,0.44,0.26,0.6l0.64,0.65c0.16,0.16,0.36,0.24,0.58,0.24c0.21,0,0.41-0.08,0.61-0.24c0.16-0.17,0.24-0.39,0.24-0.64c0-0.22-0.08-0.41-0.24-0.56l-0.65-0.66c-0.18-0.16-0.38-0.24-0.6-0.24c-0.24,0-0.44,0.08-0.6,0.25C24.56,17.44,24.48,17.64,24.48,17.88zM25.96,11.57c0,0.24,0.09,0.44,0.26,0.6c0.15,0.17,0.35,0.25,0.59,0.25h2.05c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.6c0-0.24-0.08-0.44-0.24-0.6c-0.16-0.16-0.35-0.24-0.59-0.24h-2.05c-0.24,0-0.44,0.08-0.6,0.25C26.04,11.14,25.96,11.34,25.96,11.57z\"}}]})(props);\r\n}\r\nexport const WiDayHail = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.48,16.88c0,1.34,0.47,2.49,1.4,3.45s2.07,1.47,3.4,1.53c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.12-0.06-0.18-0.18-0.18c-0.86-0.04-1.59-0.39-2.19-1.03s-0.9-1.4-0.9-2.26c0-0.83,0.28-1.55,0.85-2.17s1.27-0.97,2.1-1.07l0.53-0.04c0.13,0,0.2-0.06,0.2-0.18l0.07-0.55c0.11-1.08,0.56-1.99,1.37-2.71c0.81-0.73,1.76-1.09,2.86-1.09c1.09,0,2.04,0.36,2.86,1.09c0.82,0.73,1.29,1.63,1.4,2.71l0.07,0.58c0,0.12,0.06,0.19,0.17,0.19h1.62c0.89,0,1.67,0.32,2.32,0.96c0.65,0.64,0.98,1.4,0.98,2.27c0,0.87-0.3,1.62-0.91,2.26c-0.61,0.64-1.34,0.98-2.19,1.03c-0.13,0-0.2,0.06-0.2,0.18v1.34c0,0.11,0.07,0.17,0.2,0.17c1.34-0.04,2.47-0.55,3.39-1.51c0.93-0.97,1.39-2.12,1.39-3.46c0-0.74-0.14-1.41-0.41-2.01c0.79-0.96,1.18-2.07,1.18-3.33c0-0.94-0.24-1.82-0.71-2.63c-0.48-0.81-1.12-1.45-1.93-1.93c-0.81-0.47-1.69-0.71-2.63-0.71c-1.56,0-2.86,0.58-3.9,1.75c-0.8-0.44-1.7-0.66-2.71-0.66c-1.41,0-2.67,0.44-3.76,1.31s-1.8,2-2.11,3.37c-1.11,0.26-2.02,0.84-2.74,1.74C1.84,14.7,1.48,15.73,1.48,16.88zM6.82,23.94c0.1,0.22,0.25,0.37,0.46,0.45c0.2,0.1,0.41,0.11,0.63,0.02c0.22-0.08,0.37-0.23,0.45-0.45c0.1-0.22,0.11-0.43,0.02-0.65c-0.08-0.21-0.23-0.36-0.45-0.44c-0.2-0.11-0.41-0.12-0.62-0.03c-0.22,0.09-0.37,0.24-0.47,0.47C6.74,23.49,6.73,23.7,6.82,23.94zM7.46,21.1c0,0.14,0.03,0.27,0.09,0.38c0.19,0.31,0.49,0.46,0.89,0.46c0.32,0,0.55-0.22,0.69-0.65l1.04-3.22c0.08-0.24,0.06-0.47-0.07-0.67s-0.31-0.33-0.55-0.37C9.34,16.98,9.13,17,8.93,17.1c-0.2,0.11-0.34,0.28-0.41,0.5l-1.03,3.22C7.47,20.92,7.46,21.02,7.46,21.1zM9.33,26.72c0,0.13,0.02,0.23,0.05,0.29c0.09,0.22,0.24,0.37,0.45,0.45c0.09,0.05,0.21,0.07,0.35,0.07c0.06,0,0.16-0.02,0.3-0.06c0.22-0.08,0.38-0.23,0.47-0.45s0.1-0.44,0-0.66c-0.1-0.22-0.25-0.37-0.45-0.45s-0.41-0.08-0.62,0c-0.19,0.07-0.33,0.19-0.42,0.35C9.37,26.42,9.33,26.58,9.33,26.72zM9.94,4.57c0,0.25,0.08,0.45,0.24,0.6l0.65,0.65c0.16,0.16,0.34,0.25,0.54,0.27c0.21,0.03,0.41-0.05,0.61-0.23c0.2-0.18,0.3-0.4,0.3-0.64c0-0.24-0.08-0.44-0.24-0.6l-0.64-0.64c-0.19-0.17-0.39-0.25-0.62-0.25c-0.24,0-0.45,0.08-0.61,0.24C10.02,4.14,9.94,4.34,9.94,4.57zM10.06,24.03c0,0.16,0.05,0.32,0.16,0.48s0.27,0.27,0.48,0.33c0.11,0.02,0.19,0.04,0.24,0.04c0.15,0,0.28-0.03,0.38-0.08c0.2-0.08,0.34-0.27,0.43-0.57l1.8-6.14c0.07-0.24,0.05-0.45-0.06-0.65c-0.11-0.2-0.27-0.33-0.5-0.39c-0.24-0.07-0.46-0.05-0.66,0.06c-0.2,0.11-0.34,0.27-0.41,0.51l-1.84,6.19C10.07,23.92,10.06,24,10.06,24.03zM13.51,23.64c0,0.13,0.02,0.23,0.07,0.31c0.09,0.21,0.24,0.35,0.45,0.44c0.11,0.05,0.22,0.08,0.35,0.08c0.06,0,0.16-0.02,0.3-0.06c0.23-0.09,0.38-0.23,0.46-0.44c0.08-0.22,0.08-0.43,0-0.63c-0.08-0.2-0.22-0.35-0.42-0.45c-0.23-0.11-0.44-0.12-0.66-0.03c-0.21,0.09-0.37,0.24-0.48,0.47C13.53,23.41,13.51,23.51,13.51,23.64zM14.23,21.08c0,0.16,0.05,0.31,0.15,0.45c0.1,0.15,0.26,0.25,0.46,0.31c0.09,0.02,0.17,0.03,0.25,0.03c0.39,0,0.65-0.2,0.79-0.61l1.03-3.18c0.08-0.23,0.05-0.45-0.07-0.65s-0.29-0.33-0.52-0.39c-0.24-0.07-0.45-0.05-0.64,0.06s-0.32,0.27-0.4,0.51l-1.02,3.2C14.25,20.94,14.23,21.03,14.23,21.08zM15.3,9c0.67-0.64,1.5-0.97,2.48-0.97c0.98,0,1.81,0.34,2.5,1.03c0.69,0.68,1.04,1.51,1.04,2.49c0,0.62-0.17,1.24-0.52,1.85c-0.96-0.96-2.12-1.44-3.51-1.44H17C16.7,10.8,16.14,9.81,15.3,9zM16.92,3.73c0,0.24,0.08,0.44,0.25,0.61c0.17,0.17,0.37,0.25,0.61,0.25c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61V1.67c0-0.24-0.08-0.44-0.24-0.61c-0.16-0.17-0.35-0.25-0.59-0.25c-0.24,0-0.44,0.08-0.61,0.25c-0.17,0.17-0.25,0.37-0.25,0.61V3.73zM22.47,6.02c0,0.24,0.08,0.44,0.25,0.6c0.15,0.17,0.34,0.26,0.58,0.26c0.23,0,0.44-0.09,0.6-0.26l1.44-1.44c0.18-0.15,0.27-0.35,0.27-0.6c0-0.24-0.09-0.44-0.26-0.61c-0.17-0.17-0.38-0.25-0.61-0.25c-0.22,0-0.41,0.09-0.57,0.27l-1.45,1.43C22.56,5.57,22.47,5.78,22.47,6.02zM23.28,17.92c0,0.23,0.08,0.43,0.24,0.6l0.66,0.63c0.14,0.18,0.34,0.27,0.6,0.27c0.24,0,0.43-0.09,0.57-0.27c0.18-0.16,0.27-0.36,0.27-0.6c0-0.24-0.09-0.44-0.27-0.61l-0.65-0.62c-0.16-0.18-0.35-0.26-0.58-0.26s-0.43,0.08-0.6,0.25C23.36,17.48,23.28,17.69,23.28,17.92zM24.74,11.55c0,0.24,0.09,0.44,0.26,0.6c0.18,0.18,0.38,0.26,0.62,0.26h2.03c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.26-0.37,0.26-0.61c0-0.23-0.08-0.43-0.25-0.59c-0.17-0.16-0.38-0.24-0.62-0.24h-2.03c-0.25,0-0.46,0.08-0.63,0.24C24.83,11.12,24.74,11.32,24.74,11.55z\"}}]})(props);\r\n}\r\nexport const WiDayHaze = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.37,15.62c0-0.24,0.08-0.44,0.25-0.61c0.18-0.17,0.38-0.25,0.6-0.25h2.04c0.23,0,0.42,0.08,0.58,0.25c0.15,0.17,0.23,0.37,0.23,0.61c0,0.24-0.08,0.44-0.23,0.6c-0.15,0.17-0.35,0.25-0.58,0.25H5.23c-0.23,0-0.43-0.08-0.6-0.25C4.46,16.05,4.37,15.85,4.37,15.62zM7.23,8.71c0-0.23,0.08-0.43,0.23-0.61c0.2-0.17,0.41-0.25,0.64-0.25c0.21,0,0.41,0.08,0.59,0.25l1.43,1.46c0.16,0.15,0.24,0.35,0.24,0.59c0,0.24-0.08,0.44-0.24,0.6c-0.16,0.16-0.36,0.24-0.6,0.24c-0.24,0-0.44-0.08-0.59-0.24L7.47,9.32C7.31,9.15,7.23,8.95,7.23,8.71zM7.39,18.02c0-0.22,0.08-0.41,0.23-0.55c0.16-0.14,0.37-0.22,0.64-0.22h5.71c0.27,0,0.48,0.07,0.64,0.22c0.16,0.14,0.24,0.33,0.24,0.55c0,0.27-0.08,0.48-0.23,0.64c-0.16,0.16-0.37,0.24-0.65,0.24H8.26c-0.27,0-0.48-0.08-0.64-0.23S7.39,18.29,7.39,18.02zM8.38,20.97c0-0.22,0.09-0.42,0.28-0.6c0.18-0.18,0.39-0.27,0.6-0.27c0.26,0,0.47,0.09,0.63,0.26c0.16,0.18,0.24,0.38,0.24,0.61c0,0.28-0.08,0.49-0.23,0.65s-0.37,0.23-0.64,0.23c-0.23,0-0.44-0.08-0.61-0.24C8.47,21.45,8.38,21.23,8.38,20.97zM9.79,15.91v-0.07c0.03-1.26,0.47-2.35,1.31-3.28c0.84-0.93,1.87-1.49,3.1-1.69h0.05c0.19-0.04,0.45-0.06,0.76-0.06c0.31,0,0.57,0.02,0.76,0.06h0.04c1.22,0.19,2.26,0.76,3.1,1.69c0.84,0.93,1.28,2.02,1.31,3.28v0.07c0,0.16-0.08,0.24-0.23,0.24h-1.13c-0.12,0-0.2-0.03-0.25-0.09c-0.05-0.06-0.07-0.12-0.07-0.18c-0.04-0.93-0.4-1.72-1.08-2.37c-0.68-0.65-1.49-0.97-2.44-0.97s-1.76,0.32-2.44,0.97c-0.68,0.65-1.04,1.44-1.08,2.37c0,0.06-0.03,0.12-0.08,0.18c-0.05,0.06-0.14,0.09-0.26,0.09h-1.13C9.87,16.15,9.79,16.07,9.79,15.91zM10.8,20.97c0-0.23,0.08-0.43,0.24-0.61c0.16-0.17,0.37-0.26,0.63-0.26h3.83c0.22,0,0.42,0.09,0.6,0.27c0.18,0.18,0.28,0.38,0.28,0.6c0,0.26-0.09,0.48-0.27,0.64s-0.38,0.24-0.61,0.24h-3.83c-0.27,0-0.48-0.08-0.64-0.23C10.87,21.46,10.8,21.25,10.8,20.97zM14.14,7.89V5.86c0-0.24,0.08-0.44,0.25-0.61S14.76,5,15,5s0.43,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.61v2.03c0,0.23-0.08,0.43-0.25,0.58S15.23,8.71,15,8.71s-0.44-0.08-0.6-0.23S14.14,8.12,14.14,7.89zM15.5,18.02c0-0.21,0.09-0.39,0.27-0.54s0.38-0.23,0.61-0.23s0.43,0.08,0.61,0.23s0.27,0.33,0.27,0.54c0,0.26-0.09,0.48-0.27,0.64c-0.18,0.16-0.38,0.24-0.61,0.24s-0.44-0.08-0.61-0.24C15.59,18.49,15.5,18.28,15.5,18.02zM17.04,20.97c0-0.23,0.08-0.43,0.24-0.61c0.16-0.17,0.38-0.26,0.64-0.26h1.86c0.26,0,0.47,0.09,0.63,0.26c0.16,0.18,0.24,0.38,0.24,0.61c0,0.28-0.08,0.49-0.23,0.65c-0.15,0.16-0.37,0.23-0.64,0.23h-1.86c-0.27,0-0.48-0.08-0.64-0.23C17.12,21.46,17.04,21.25,17.04,20.97zM17.92,18.02c0-0.21,0.09-0.39,0.27-0.54s0.38-0.23,0.6-0.23h3.07c0.22,0,0.4,0.07,0.54,0.22c0.14,0.15,0.22,0.33,0.22,0.55c0,0.27-0.07,0.48-0.21,0.64c-0.14,0.16-0.32,0.24-0.55,0.24h-3.07c-0.23,0-0.43-0.08-0.61-0.24C18.01,18.49,17.92,18.28,17.92,18.02zM19.66,10.15c0-0.25,0.08-0.45,0.23-0.59l1.42-1.46c0.18-0.17,0.38-0.25,0.59-0.25c0.23,0,0.43,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.61c0,0.24-0.08,0.45-0.24,0.61l-1.46,1.42c-0.18,0.16-0.38,0.24-0.6,0.24c-0.23,0-0.41-0.08-0.56-0.24C19.74,10.59,19.66,10.39,19.66,10.15zM21.92,15.62c0-0.23,0.08-0.43,0.24-0.61c0.17-0.17,0.36-0.25,0.57-0.25h2.02c0.23,0,0.43,0.09,0.6,0.26c0.17,0.17,0.26,0.37,0.26,0.6c0,0.23-0.09,0.43-0.26,0.6c-0.17,0.17-0.37,0.25-0.6,0.25h-2.02c-0.23,0-0.43-0.08-0.58-0.25S21.92,15.86,21.92,15.62z\"}}]})(props);\r\n}\r\nexport const WiDayLightWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.32,14.85c0,0.24,0.09,0.44,0.26,0.6c0.16,0.17,0.36,0.25,0.6,0.25h9.42c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.6c0-0.23-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.24-0.59-0.24H3.18c-0.24,0-0.44,0.08-0.61,0.24C2.4,14.42,2.32,14.62,2.32,14.85zM2.65,21c0,0.24,0.08,0.44,0.25,0.6c0.16,0.17,0.36,0.25,0.6,0.25h9.43c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.25-0.37,0.25-0.6s-0.08-0.43-0.25-0.59s-0.37-0.24-0.61-0.24H3.51c-0.24,0-0.44,0.08-0.6,0.24C2.74,20.57,2.65,20.77,2.65,21zM4.02,17.9c0,0.24,0.08,0.43,0.25,0.59c0.17,0.16,0.38,0.23,0.63,0.23h9.4c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.25-0.08-0.45-0.23-0.61c-0.16-0.16-0.35-0.24-0.59-0.24H4.9c-0.25,0-0.46,0.08-0.63,0.24C4.11,17.45,4.02,17.65,4.02,17.9zM6.45,11.55c0-0.24,0.09-0.44,0.26-0.62c0.17-0.16,0.38-0.24,0.6-0.24h2.03c0.23,0,0.42,0.08,0.58,0.25c0.16,0.17,0.23,0.37,0.23,0.61c0,0.24-0.08,0.44-0.23,0.6c-0.16,0.17-0.35,0.25-0.58,0.25H7.31c-0.24,0-0.44-0.08-0.61-0.25C6.53,11.98,6.45,11.78,6.45,11.55zM9.31,4.63c0-0.22,0.08-0.43,0.24-0.61c0.19-0.16,0.4-0.24,0.63-0.24c0.22,0,0.42,0.08,0.59,0.24l1.42,1.47c0.16,0.15,0.24,0.35,0.24,0.59c0,0.24-0.08,0.44-0.24,0.6c-0.16,0.16-0.36,0.24-0.6,0.24c-0.24,0-0.44-0.08-0.59-0.24L9.55,5.25C9.39,5.07,9.31,4.87,9.31,4.63zM11.86,11.43v-0.07c0.02-0.91,0.27-1.75,0.74-2.53c0.47-0.77,1.11-1.38,1.9-1.83s1.65-0.67,2.57-0.67c0.7,0,1.37,0.14,2.02,0.42c0.64,0.28,1.2,0.65,1.66,1.12c0.47,0.47,0.84,1.02,1.11,1.66c0.27,0.64,0.41,1.32,0.41,2.02c0,0.94-0.23,1.8-0.69,2.6s-1.09,1.43-1.88,1.89c-0.79,0.47-1.66,0.7-2.6,0.71h-0.2c-0.07,0-0.13-0.02-0.18-0.07c-0.05-0.05-0.08-0.11-0.08-0.18v-1.22c0-0.13,0.07-0.2,0.22-0.2h0.24c0.96-0.01,1.79-0.35,2.47-1.05c0.68-0.69,1.03-1.52,1.03-2.49c0-0.96-0.35-1.78-1.04-2.47c-0.69-0.68-1.52-1.02-2.5-1.02c-0.94,0-1.76,0.32-2.44,0.98c-0.68,0.65-1.04,1.44-1.08,2.37c0,0.06-0.02,0.11-0.07,0.17s-0.13,0.09-0.25,0.09h-1.14C11.93,11.67,11.86,11.59,11.86,11.43zM16.23,21.31v-1.99c0-0.24,0.08-0.44,0.24-0.6s0.36-0.24,0.6-0.24c0.24,0,0.45,0.08,0.61,0.24s0.24,0.36,0.24,0.6v1.99c0,0.24-0.08,0.45-0.25,0.62c-0.17,0.17-0.37,0.25-0.6,0.25c-0.24,0-0.44-0.08-0.6-0.25S16.23,21.56,16.23,21.31zM16.23,3.83V1.78c0-0.24,0.08-0.44,0.25-0.6s0.36-0.25,0.6-0.25c0.23,0,0.43,0.08,0.6,0.25s0.25,0.37,0.25,0.6v2.04c0,0.23-0.08,0.42-0.25,0.58c-0.17,0.15-0.37,0.23-0.6,0.23c-0.24,0-0.44-0.08-0.6-0.23C16.31,4.25,16.23,4.06,16.23,3.83zM21.74,17.01c0-0.23,0.07-0.42,0.23-0.56c0.15-0.16,0.34-0.23,0.57-0.23c0.24,0,0.44,0.08,0.6,0.23l1.45,1.42c0.16,0.17,0.24,0.38,0.24,0.61c0,0.23-0.08,0.43-0.24,0.59c-0.4,0.31-0.8,0.31-1.2,0l-1.42-1.43C21.82,17.48,21.74,17.26,21.74,17.01zM21.74,6.08c0-0.25,0.07-0.45,0.23-0.59l1.42-1.47c0.18-0.16,0.37-0.24,0.59-0.24c0.24,0,0.44,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6c0,0.25-0.08,0.46-0.24,0.62l-1.45,1.43c-0.18,0.16-0.38,0.24-0.6,0.24c-0.23,0-0.41-0.08-0.57-0.24S21.74,6.32,21.74,6.08zM24,11.55c0-0.23,0.08-0.44,0.25-0.62c0.16-0.16,0.35-0.24,0.56-0.24h2.03c0.23,0,0.43,0.09,0.61,0.26c0.17,0.17,0.26,0.37,0.26,0.6c0,0.23-0.09,0.43-0.26,0.6c-0.18,0.17-0.38,0.25-0.61,0.25h-2.03c-0.23,0-0.42-0.08-0.58-0.25C24.08,11.99,24,11.79,24,11.55z\"}}]})(props);\r\n}\r\nexport const WiDayLightning = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.56,16.9c0,1.33,0.46,2.47,1.39,3.43c0.93,0.96,2.06,1.47,3.4,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.37c0-0.12-0.06-0.18-0.17-0.18c-0.87-0.07-1.6-0.41-2.19-1.04c-0.59-0.62-0.89-1.36-0.89-2.21c0-0.84,0.28-1.57,0.85-2.19s1.26-0.97,2.1-1.04l0.52-0.08c0.13,0,0.2-0.06,0.2-0.17l0.06-0.51c0.11-1.08,0.56-1.99,1.37-2.71c0.81-0.73,1.76-1.09,2.86-1.09c1.09,0,2.04,0.36,2.85,1.09c0.81,0.72,1.27,1.63,1.39,2.72l0.07,0.58c0,0.11,0.06,0.17,0.19,0.17h1.6c0.91,0,1.68,0.32,2.32,0.95c0.64,0.63,0.96,1.39,0.96,2.28c0,0.85-0.3,1.59-0.89,2.21c-0.59,0.62-1.32,0.97-2.19,1.04c-0.13,0-0.2,0.06-0.2,0.18v1.37c0,0.11,0.07,0.17,0.2,0.17c1.33-0.04,2.46-0.55,3.38-1.51s1.38-2.11,1.38-3.45c0-0.68-0.16-1.37-0.47-2.07C22.6,13.89,23,12.8,23,11.56c0-0.71-0.14-1.39-0.42-2.04c-0.28-0.65-0.65-1.2-1.12-1.67s-1.03-0.84-1.67-1.12c-0.65-0.27-1.32-0.41-2.03-0.41c-1.54,0-2.84,0.58-3.88,1.73c-0.86-0.41-1.74-0.62-2.65-0.62c-1.42,0-2.67,0.43-3.76,1.3s-1.79,1.99-2.1,3.37c-1.1,0.26-2.01,0.83-2.73,1.73S1.56,15.75,1.56,16.9zM9.06,28.17h0.3l5.32-7.85c0.04-0.04,0.05-0.09,0.02-0.14s-0.07-0.07-0.14-0.07h-2.18l2.3-4.21c0.07-0.14,0.03-0.22-0.14-0.22h-2.94c-0.08,0-0.15,0.05-0.22,0.14l-2.16,5.72c-0.02,0.14,0.02,0.21,0.14,0.21h2.17L9.06,28.17zM9.94,4.59c0,0.25,0.08,0.46,0.24,0.62l0.66,0.65c0.42,0.32,0.82,0.32,1.21,0c0.16-0.18,0.24-0.39,0.24-0.64c0-0.23-0.08-0.43-0.24-0.59l-0.64-0.65c-0.19-0.17-0.39-0.25-0.62-0.25c-0.23,0-0.43,0.08-0.6,0.25C10.02,4.15,9.94,4.36,9.94,4.59zM15.28,9.02C15.96,8.34,16.79,8,17.76,8c0.98,0,1.81,0.35,2.49,1.04c0.69,0.69,1.03,1.53,1.03,2.52c0,0.61-0.17,1.21-0.51,1.81c-0.98-0.94-2.13-1.41-3.46-1.41h-0.31C16.74,10.82,16.16,9.84,15.28,9.02zM16.9,3.73c0,0.25,0.08,0.46,0.24,0.62c0.16,0.16,0.36,0.24,0.61,0.24c0.24,0,0.43-0.08,0.59-0.24c0.16-0.16,0.23-0.37,0.23-0.62V1.69c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.23S16.9,1.45,16.9,1.69V3.73zM22.42,6.05c0,0.23,0.09,0.43,0.27,0.6c0.18,0.17,0.37,0.25,0.55,0.25c0.16,0,0.37-0.08,0.62-0.25l1.44-1.43c0.17-0.18,0.25-0.39,0.25-0.63c0-0.24-0.08-0.45-0.25-0.61c-0.17-0.16-0.37-0.24-0.6-0.24c-0.22,0-0.41,0.08-0.58,0.25l-1.43,1.43C22.51,5.61,22.42,5.82,22.42,6.05zM23.23,17.87c0,0.23,0.08,0.43,0.24,0.61l0.65,0.66c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.6-0.25c0.17-0.17,0.25-0.38,0.25-0.63c0-0.23-0.08-0.42-0.25-0.57l-0.62-0.66c-0.19-0.16-0.39-0.23-0.62-0.23c-0.23,0-0.43,0.08-0.59,0.24C23.31,17.44,23.23,17.64,23.23,17.87zM24.68,11.56c0,0.22,0.09,0.41,0.26,0.57c0.17,0.17,0.37,0.25,0.6,0.25h2.04c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.24-0.09-0.44-0.26-0.61s-0.37-0.25-0.6-0.25h-2.04c-0.23,0-0.43,0.08-0.6,0.25C24.77,11.12,24.68,11.32,24.68,11.56z\"}}]})(props);\r\n}\r\nexport const WiDayRainMix = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.48,16.95c0,1.32,0.46,2.46,1.37,3.4c0.91,0.94,2.04,1.45,3.38,1.51c0.12,0,0.18-0.06,0.18-0.17v-1.33c0-0.12-0.06-0.18-0.18-0.18c-0.86-0.04-1.58-0.38-2.17-1s-0.88-1.37-0.88-2.24c0-0.84,0.28-1.58,0.84-2.19c0.56-0.62,1.26-0.96,2.1-1.03l0.53-0.08c0.11,0,0.16-0.05,0.16-0.14l0.08-0.55c0.12-1.09,0.59-2,1.38-2.72S10,9.16,11.1,9.16s2.05,0.36,2.86,1.08c0.82,0.72,1.28,1.62,1.38,2.69l0.07,0.58c0.02,0.11,0.1,0.17,0.22,0.17h1.6c0.89,0,1.65,0.32,2.29,0.96c0.64,0.64,0.96,1.41,0.96,2.31c0,0.87-0.29,1.61-0.88,2.24s-1.31,0.95-2.17,1c-0.13,0-0.2,0.06-0.2,0.18v1.33c0,0.11,0.07,0.17,0.2,0.17c1.33-0.04,2.45-0.54,3.37-1.49c0.91-0.95,1.37-2.09,1.37-3.42c0-0.68-0.13-1.34-0.38-2.01c0.78-0.96,1.16-2.08,1.16-3.35c0-0.71-0.14-1.38-0.41-2.03c-0.27-0.65-0.65-1.2-1.12-1.67s-1.03-0.84-1.67-1.12s-1.33-0.42-2.04-0.42c-1.54,0-2.83,0.58-3.86,1.74c-0.89-0.44-1.81-0.66-2.74-0.66c-1.41,0-2.66,0.44-3.74,1.31s-1.77,2-2.08,3.38c-1.12,0.26-2.04,0.83-2.75,1.73C1.83,14.76,1.48,15.79,1.48,16.95zM6.83,23.98c0,0.17,0.05,0.34,0.16,0.51c0.11,0.17,0.27,0.28,0.47,0.35c0.23,0.07,0.45,0.06,0.64-0.04c0.2-0.09,0.33-0.28,0.4-0.56l0.14-0.61c0.05-0.23,0.02-0.44-0.1-0.63c-0.12-0.2-0.29-0.33-0.52-0.4c-0.23-0.07-0.44-0.04-0.64,0.08S7.06,22.97,7,23.2l-0.14,0.59C6.84,23.85,6.83,23.91,6.83,23.98zM7.6,21.08c0,0.22,0.08,0.41,0.24,0.57C8,21.83,8.19,21.91,8.4,21.91c0.24,0,0.44-0.08,0.6-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.59c-0.17-0.16-0.37-0.24-0.6-0.24c-0.23,0-0.42,0.08-0.58,0.23S7.6,20.85,7.6,21.08zM8.21,18.81c-0.01,0.16,0.03,0.31,0.13,0.45c0.1,0.15,0.26,0.25,0.48,0.32c0.21,0.06,0.41,0.04,0.62-0.07C9.65,19.4,9.79,19.23,9.86,19l0.27-0.9c0.07-0.24,0.05-0.46-0.07-0.65c-0.12-0.19-0.3-0.32-0.54-0.39c-0.22-0.07-0.43-0.05-0.63,0.07c-0.2,0.11-0.34,0.28-0.41,0.5l-0.24,0.92C8.22,18.71,8.21,18.8,8.21,18.81zM9.36,27.1c0,0.17,0.05,0.33,0.16,0.49c0.11,0.16,0.27,0.27,0.49,0.33c0.09,0.02,0.17,0.03,0.24,0.03c0.43,0,0.7-0.2,0.8-0.61l0.13-0.59c0.06-0.26,0.03-0.48-0.08-0.68s-0.29-0.32-0.52-0.37c-0.21-0.07-0.42-0.05-0.63,0.07c-0.21,0.12-0.34,0.29-0.41,0.51L9.4,26.88C9.37,26.99,9.36,27.07,9.36,27.1zM9.92,4.66c0,0.24,0.08,0.44,0.24,0.6l0.66,0.64c0.14,0.16,0.32,0.24,0.54,0.26c0.22,0.02,0.43-0.07,0.62-0.26c0.16-0.16,0.24-0.36,0.24-0.59c0-0.24-0.08-0.44-0.24-0.6l-0.63-0.65C11.2,3.9,11,3.82,10.77,3.8c-0.23,0-0.43,0.08-0.6,0.25C10.01,4.22,9.92,4.42,9.92,4.66zM10.15,24.2c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.23-0.08-0.42-0.23-0.58c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23S10.15,23.97,10.15,24.2zM10.77,21.93c-0.01,0.15,0.03,0.31,0.14,0.47c0.1,0.16,0.25,0.26,0.45,0.3c0.23,0.06,0.44,0.04,0.64-0.06s0.33-0.29,0.41-0.56l0.26-0.9c0.07-0.22,0.05-0.43-0.07-0.63c-0.12-0.2-0.29-0.33-0.53-0.4c-0.22-0.07-0.43-0.04-0.64,0.08s-0.34,0.3-0.41,0.53l-0.22,0.9C10.78,21.74,10.77,21.83,10.77,21.93zM13.53,24.08c0,0.17,0.05,0.33,0.15,0.48c0.1,0.15,0.25,0.26,0.46,0.32c0.03,0,0.08,0.01,0.14,0.02c0.06,0.01,0.11,0.02,0.14,0.02c0.41,0,0.66-0.22,0.76-0.66l0.14-0.6c0.07-0.21,0.05-0.42-0.07-0.63c-0.12-0.21-0.29-0.34-0.51-0.41c-0.25-0.06-0.48-0.04-0.68,0.08s-0.34,0.29-0.41,0.53l-0.09,0.59c0,0.01,0,0.05-0.01,0.11C13.54,24,13.53,24.04,13.53,24.08zM14.27,21.12c0,0.23,0.08,0.42,0.24,0.57c0.15,0.16,0.34,0.24,0.58,0.24s0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23s-0.43,0.08-0.59,0.23S14.27,20.88,14.27,21.12zM14.88,18.81c0,0.17,0.05,0.33,0.16,0.48c0.11,0.15,0.27,0.26,0.49,0.32c0.02,0,0.06,0.01,0.12,0.02c0.06,0.01,0.11,0.02,0.14,0.02c0.11,0,0.23-0.03,0.37-0.09c0.21-0.11,0.34-0.28,0.4-0.52l0.24-0.9c0.06-0.23,0.04-0.44-0.07-0.63s-0.28-0.33-0.5-0.4c-0.23-0.07-0.45-0.05-0.64,0.06c-0.2,0.11-0.33,0.27-0.4,0.51l-0.28,0.91c0,0.02,0,0.05-0.01,0.11C14.89,18.73,14.88,18.77,14.88,18.81zM15.23,9.09c0.66-0.66,1.48-0.99,2.47-0.99c0.99,0,1.83,0.34,2.52,1.02s1.04,1.5,1.04,2.48c0,0.66-0.18,1.29-0.53,1.88c-0.98-0.98-2.15-1.47-3.5-1.47h-0.31C16.64,10.91,16.07,9.94,15.23,9.09zM16.88,3.83c0,0.23,0.08,0.42,0.23,0.58c0.15,0.15,0.35,0.23,0.59,0.23c0.24,0,0.45-0.08,0.62-0.23c0.17-0.15,0.25-0.35,0.25-0.58V1.76c0-0.23-0.09-0.43-0.26-0.6c-0.17-0.17-0.38-0.25-0.61-0.25c-0.23,0-0.43,0.08-0.58,0.25c-0.16,0.17-0.23,0.37-0.23,0.6V3.83zM22.4,6.09c0,0.25,0.08,0.45,0.23,0.6c0.36,0.36,0.76,0.36,1.21,0l1.43-1.43c0.17-0.17,0.25-0.38,0.25-0.63c0-0.24-0.08-0.44-0.25-0.6c-0.17-0.17-0.37-0.25-0.6-0.25c-0.23,0-0.43,0.08-0.61,0.24L22.63,5.5C22.48,5.65,22.4,5.84,22.4,6.09zM23.18,17.94c0,0.23,0.09,0.43,0.27,0.59l0.61,0.63c0.2,0.16,0.4,0.24,0.61,0.24c0.2,0,0.4-0.08,0.6-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.62l-0.65-0.61c-0.15-0.17-0.34-0.25-0.57-0.25s-0.43,0.08-0.6,0.25C23.27,17.51,23.18,17.71,23.18,17.94zM24.66,11.6c0,0.24,0.09,0.43,0.26,0.59c0.18,0.18,0.39,0.27,0.62,0.27h2.03c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61c0-0.24-0.08-0.44-0.24-0.6c-0.16-0.17-0.35-0.25-0.59-0.25h-2.03c-0.24,0-0.44,0.08-0.62,0.25S24.66,11.37,24.66,11.6z\"}}]})(props);\r\n}\r\nexport const WiDayRainWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.48,16.91c0,1.12,0.33,2.13,1,3.01c0.67,0.88,1.53,1.47,2.58,1.77c0.09,0.01,0.17-0.01,0.24-0.08l1.17-1.41c-0.89,0-1.66-0.32-2.3-0.97s-0.96-1.42-0.96-2.33c0-0.83,0.28-1.55,0.85-2.17c0.57-0.61,1.27-0.97,2.11-1.07l0.49-0.03c0.13,0,0.2-0.06,0.2-0.19l0.07-0.54c0.11-1.08,0.57-1.99,1.38-2.72s1.77-1.1,2.86-1.1c1.1,0,2.06,0.37,2.88,1.1s1.28,1.64,1.39,2.72l0.07,0.59c0.04,0.11,0.12,0.17,0.22,0.17h1.64c0.88,0,1.64,0.32,2.28,0.95c0.64,0.63,0.96,1.4,0.96,2.28c0,0.84-0.28,1.58-0.85,2.21c-0.57,0.63-1.25,0.98-2.07,1.05c-0.49,0.06-0.79,0.15-0.9,0.28l-2.19,2.82c-0.14,0.19-0.19,0.4-0.16,0.63c0.03,0.23,0.13,0.42,0.31,0.56c0.15,0.17,0.35,0.24,0.6,0.21c0.25-0.03,0.45-0.15,0.6-0.36l1.92-2.46c0.82-0.08,1.57-0.35,2.25-0.82c0.68-0.46,1.21-1.06,1.61-1.79c0.39-0.73,0.59-1.51,0.59-2.34c0-0.72-0.14-1.39-0.42-2.01c0.79-0.96,1.18-2.07,1.18-3.33c0-0.71-0.14-1.38-0.42-2.03c-0.28-0.65-0.66-1.21-1.13-1.68c-0.47-0.47-1.03-0.84-1.68-1.12c-0.65-0.28-1.33-0.42-2.04-0.42c-1.5,0-2.79,0.58-3.88,1.74c-0.79-0.44-1.7-0.66-2.72-0.66c-1.41,0-2.66,0.44-3.75,1.32s-1.78,2-2.07,3.37c-1.13,0.26-2.06,0.83-2.79,1.73S1.48,15.76,1.48,16.91zM5.38,25.15c0.07,0.22,0.23,0.38,0.46,0.48c0.22,0.1,0.44,0.1,0.67,0.01s0.38-0.25,0.46-0.47c0.09-0.21,0.1-0.41,0-0.62c-0.09-0.21-0.24-0.36-0.45-0.46c-0.22-0.1-0.44-0.11-0.66-0.02c-0.22,0.09-0.37,0.24-0.45,0.46C5.32,24.78,5.31,24.99,5.38,25.15zM7.19,22.41v0.11c0.02,0.22,0.12,0.4,0.3,0.55c0.18,0.15,0.38,0.22,0.63,0.2c0.24-0.02,0.43-0.12,0.57-0.29l2.18-2.82c0.14-0.18,0.21-0.39,0.19-0.63s-0.12-0.43-0.29-0.57c-0.18-0.15-0.39-0.21-0.63-0.19c-0.24,0.02-0.44,0.13-0.6,0.31l-2.15,2.8C7.25,22.04,7.19,22.22,7.19,22.41zM7.7,27.27c0,0.06,0.02,0.16,0.06,0.3c0.09,0.22,0.24,0.37,0.46,0.46c0.11,0.04,0.23,0.07,0.36,0.07c0.09,0,0.2-0.02,0.31-0.05c0.21-0.08,0.36-0.23,0.44-0.44c0.1-0.22,0.11-0.44,0.02-0.67c-0.08-0.23-0.23-0.38-0.45-0.46c-0.22-0.1-0.44-0.1-0.67-0.01s-0.38,0.24-0.45,0.45C7.73,27.03,7.7,27.15,7.7,27.27zM9.37,24.9V25c0.02,0.23,0.13,0.42,0.33,0.58c0.15,0.16,0.35,0.23,0.6,0.2c0.25-0.03,0.45-0.14,0.6-0.34l4.14-5.23c0.14-0.2,0.19-0.41,0.17-0.64s-0.13-0.42-0.31-0.59c-0.18-0.14-0.39-0.2-0.62-0.17c-0.23,0.03-0.42,0.13-0.56,0.31l-4.16,5.26C9.43,24.53,9.37,24.71,9.37,24.9zM9.95,4.61c0,0.24,0.09,0.44,0.27,0.59l0.61,0.66c0.16,0.16,0.34,0.24,0.54,0.26c0.21,0.03,0.41-0.04,0.61-0.22c0.2-0.18,0.3-0.39,0.3-0.64c0-0.22-0.08-0.43-0.24-0.6L11.4,4.01c-0.15-0.16-0.34-0.24-0.58-0.24c-0.24,0-0.45,0.08-0.62,0.24C10.04,4.18,9.95,4.38,9.95,4.61zM12.9,26.04c0,0.12,0.02,0.22,0.07,0.31c0.09,0.22,0.24,0.37,0.45,0.46c0.11,0.05,0.22,0.08,0.35,0.08c0.06,0,0.16-0.02,0.3-0.06c0.22-0.09,0.38-0.24,0.46-0.46c0.1-0.22,0.11-0.44,0.02-0.66c-0.08-0.22-0.23-0.37-0.45-0.45c-0.22-0.1-0.44-0.11-0.67-0.02c-0.23,0.09-0.38,0.24-0.46,0.45C12.92,25.8,12.9,25.92,12.9,26.04zM15.3,9.03c0.71-0.64,1.53-0.97,2.48-0.97c0.99,0,1.83,0.34,2.53,1.03s1.05,1.51,1.05,2.49c0,0.66-0.17,1.28-0.52,1.86c-0.97-0.97-2.13-1.45-3.48-1.45h-0.34C16.75,10.83,16.18,9.85,15.3,9.03zM16.93,3.77c0,0.23,0.08,0.43,0.25,0.59c0.17,0.16,0.37,0.24,0.6,0.24c0.24,0,0.45-0.08,0.62-0.24C18.57,4.2,18.65,4,18.65,3.77V1.7c0-0.23-0.09-0.43-0.26-0.6c-0.17-0.17-0.38-0.25-0.61-0.25c-0.23,0-0.43,0.08-0.6,0.25s-0.25,0.37-0.25,0.6V3.77zM22.5,6.05c0,0.24,0.07,0.44,0.22,0.6c0.18,0.17,0.38,0.25,0.61,0.26c0.23,0,0.42-0.08,0.57-0.26L25.4,5.2c0.16-0.16,0.24-0.37,0.24-0.61c0-0.24-0.09-0.44-0.26-0.61c-0.17-0.17-0.37-0.26-0.6-0.26c-0.22,0-0.42,0.08-0.6,0.25l-1.45,1.47C22.58,5.61,22.5,5.81,22.5,6.05zM23.28,17.95c0,0.24,0.08,0.44,0.24,0.6l0.66,0.63c0.16,0.16,0.34,0.25,0.54,0.27h0.06c0.18,0,0.38-0.09,0.62-0.27c0.16-0.16,0.24-0.36,0.24-0.58c0-0.24-0.08-0.45-0.24-0.63l-0.66-0.62c-0.16-0.17-0.36-0.25-0.59-0.25c-0.24,0-0.45,0.08-0.62,0.25C23.37,17.51,23.28,17.72,23.28,17.95zM24.78,11.58c0,0.24,0.08,0.44,0.24,0.6c0.16,0.18,0.36,0.27,0.6,0.27h2.04c0.24,0,0.44-0.09,0.61-0.26c0.17-0.17,0.25-0.38,0.25-0.61c0-0.23-0.08-0.43-0.25-0.59c-0.17-0.16-0.37-0.24-0.61-0.24h-2.04c-0.24,0-0.44,0.08-0.6,0.24C24.86,11.15,24.78,11.35,24.78,11.58z\"}}]})(props);\r\n}\r\nexport const WiDayRain = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.51,16.89c0,1.33,0.46,2.48,1.39,3.44s2.06,1.47,3.41,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.34c0-0.11-0.06-0.17-0.17-0.17c-0.86-0.04-1.59-0.39-2.19-1.03s-0.9-1.4-0.9-2.26c0-0.82,0.28-1.54,0.85-2.16s1.27-0.97,2.1-1.07l0.53-0.05c0.13,0,0.2-0.06,0.2-0.17l0.07-0.54c0.11-1.08,0.56-1.99,1.37-2.72s1.76-1.1,2.85-1.1c1.09,0,2.04,0.37,2.86,1.1s1.28,1.64,1.4,2.72l0.07,0.57c0,0.12,0.06,0.19,0.17,0.19h1.62c0.89,0,1.65,0.32,2.3,0.96c0.65,0.64,0.97,1.39,0.97,2.27c0,0.87-0.3,1.62-0.9,2.26c-0.6,0.64-1.33,0.98-2.18,1.03c-0.12,0-0.19,0.06-0.19,0.17v1.34c0,0.11,0.06,0.17,0.19,0.17c1.33-0.04,2.46-0.55,3.39-1.51c0.93-0.97,1.39-2.12,1.39-3.45c0-0.72-0.14-1.39-0.42-2.01c0.78-0.97,1.17-2.07,1.17-3.31c0-0.95-0.24-1.83-0.71-2.64c-0.47-0.81-1.11-1.45-1.92-1.92s-1.68-0.7-2.62-0.7c-1.56,0-2.85,0.58-3.88,1.74c-0.82-0.44-1.72-0.66-2.71-0.66c-1.41,0-2.67,0.44-3.76,1.32s-1.79,2-2.1,3.36c-1.11,0.26-2.02,0.84-2.74,1.74S1.51,15.74,1.51,16.89zM6.91,23.75c0,0.17,0.05,0.33,0.16,0.49c0.11,0.16,0.27,0.27,0.49,0.33c0.11,0.02,0.2,0.04,0.27,0.04c0.39,0,0.65-0.21,0.77-0.64l1.58-5.88c0.07-0.24,0.04-0.46-0.08-0.67c-0.12-0.21-0.3-0.33-0.53-0.38c-0.22-0.07-0.43-0.05-0.63,0.07c-0.2,0.11-0.34,0.28-0.41,0.51l-1.58,5.91C6.93,23.66,6.91,23.73,6.91,23.75zM9.52,26.83c0,0.19,0.05,0.36,0.15,0.52c0.1,0.16,0.27,0.26,0.52,0.3c0.11,0.02,0.2,0.04,0.26,0.04c0.16,0,0.31-0.06,0.45-0.17c0.14-0.12,0.23-0.28,0.27-0.48l2.4-8.93c0.06-0.23,0.04-0.45-0.07-0.64s-0.28-0.33-0.5-0.4c-0.23-0.07-0.45-0.05-0.65,0.07c-0.2,0.11-0.34,0.28-0.4,0.51l-2.4,8.93C9.53,26.73,9.52,26.82,9.52,26.83zM9.94,4.6c0,0.24,0.08,0.44,0.25,0.61l0.65,0.66c0.19,0.15,0.4,0.22,0.62,0.22c0.21,0,0.41-0.08,0.58-0.23c0.17-0.16,0.26-0.35,0.26-0.59c0-0.24-0.08-0.46-0.24-0.64l-0.64-0.65c-0.18-0.17-0.38-0.25-0.6-0.25c-0.24,0-0.45,0.09-0.62,0.26C10.03,4.16,9.94,4.37,9.94,4.6zM13.67,23.77c0,0.16,0.05,0.32,0.15,0.47s0.26,0.26,0.46,0.32c0.11,0.02,0.2,0.04,0.25,0.04c0.17,0,0.34-0.05,0.49-0.15c0.15-0.1,0.25-0.26,0.3-0.49l1.58-5.88c0.06-0.23,0.04-0.45-0.07-0.64c-0.11-0.2-0.28-0.33-0.5-0.4c-0.24-0.07-0.45-0.05-0.65,0.07c-0.2,0.11-0.33,0.28-0.39,0.51l-1.58,5.91C13.69,23.68,13.67,23.76,13.67,23.77zM15.3,9.03c0.71-0.67,1.53-1,2.48-1c0.98,0,1.82,0.35,2.5,1.04c0.69,0.69,1.03,1.53,1.03,2.52c0,0.62-0.17,1.24-0.52,1.85c-0.97-0.97-2.13-1.45-3.49-1.45h-0.33C16.7,10.81,16.14,9.83,15.3,9.03zM16.92,3.78c0,0.23,0.08,0.43,0.25,0.59c0.17,0.16,0.37,0.24,0.61,0.24c0.23,0,0.43-0.08,0.59-0.23c0.16-0.16,0.24-0.35,0.24-0.59V1.73c0-0.26-0.08-0.47-0.23-0.63c-0.16-0.16-0.35-0.24-0.59-0.24c-0.25,0-0.46,0.08-0.62,0.25s-0.24,0.37-0.24,0.62V3.78zM22.45,6.06c0,0.24,0.09,0.44,0.27,0.59c0.14,0.16,0.32,0.24,0.55,0.26c0.23,0.02,0.44-0.07,0.62-0.26l1.44-1.43c0.18-0.17,0.26-0.38,0.26-0.63c0-0.24-0.08-0.45-0.25-0.61c-0.17-0.16-0.37-0.24-0.61-0.24c-0.21,0-0.4,0.08-0.58,0.25l-1.43,1.44C22.54,5.6,22.45,5.81,22.45,6.06zM23.26,17.91c0,0.24,0.08,0.45,0.24,0.63l0.65,0.63c0.18,0.14,0.38,0.21,0.6,0.21l0.02,0.02c0.23,0,0.42-0.08,0.58-0.24c0.16-0.16,0.24-0.37,0.24-0.61c0-0.24-0.09-0.43-0.26-0.58l-0.62-0.66c-0.18-0.16-0.39-0.24-0.62-0.24s-0.43,0.08-0.59,0.25S23.26,17.67,23.26,17.91zM24.72,11.58c0,0.24,0.09,0.43,0.26,0.59c0.18,0.18,0.38,0.26,0.62,0.26h2.03c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.25-0.37,0.25-0.6c0-0.24-0.08-0.44-0.25-0.61s-0.37-0.26-0.61-0.26H25.6c-0.24,0-0.44,0.09-0.62,0.26C24.8,11.14,24.72,11.34,24.72,11.58z\"}}]})(props);\r\n}\r\nexport const WiDayShowers = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.56,16.88c0,1.33,0.46,2.47,1.39,3.43s2.06,1.46,3.4,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.34c0-0.12-0.06-0.18-0.17-0.18c-0.85-0.04-1.57-0.38-2.17-1.02s-0.89-1.39-0.89-2.25c0-0.84,0.28-1.56,0.84-2.17s1.26-0.96,2.1-1.06l0.5-0.04c0.13,0,0.2-0.06,0.2-0.18l0.06-0.53c0.11-1.08,0.56-1.99,1.37-2.71c0.81-0.73,1.76-1.09,2.86-1.09c1.09,0,2.05,0.36,2.86,1.09c0.81,0.73,1.27,1.63,1.37,2.71l0.07,0.57c0,0.12,0.06,0.18,0.18,0.18h1.67c0.88,0,1.63,0.32,2.27,0.96c0.64,0.64,0.96,1.39,0.96,2.27c0,0.85-0.3,1.59-0.9,2.22s-1.32,0.98-2.16,1.05c-0.11,0-0.17,0.06-0.17,0.18v1.34c0,0.11,0.06,0.17,0.17,0.17c0.88-0.02,1.67-0.26,2.4-0.72s1.3-1.05,1.71-1.8c0.42-0.75,0.62-1.56,0.62-2.44c0-0.71-0.14-1.37-0.41-1.96c0.76-0.94,1.13-2.03,1.13-3.28c0-0.71-0.14-1.39-0.41-2.04c-0.27-0.65-0.65-1.2-1.12-1.67C21,7.46,20.44,7.09,19.8,6.82c-0.65-0.28-1.33-0.41-2.04-0.41c-1.51,0-2.78,0.55-3.81,1.66c-0.79-0.43-1.7-0.64-2.73-0.64c-1.41,0-2.66,0.44-3.75,1.31s-1.77,1.99-2.07,3.35c-1.12,0.26-2.05,0.83-2.77,1.72C1.92,14.7,1.56,15.73,1.56,16.88zM6.97,23.58c0,0.18,0.05,0.36,0.16,0.53c0.11,0.18,0.26,0.29,0.45,0.36c0.19,0.07,0.4,0.05,0.61-0.06c0.22-0.11,0.36-0.29,0.44-0.55l0.25-1.05c0.07-0.21,0.05-0.41-0.07-0.62c-0.12-0.21-0.29-0.35-0.51-0.42c-0.25-0.06-0.47-0.03-0.67,0.08s-0.32,0.3-0.37,0.53l-0.28,0.99C6.98,23.42,6.97,23.49,6.97,23.58zM8.28,18.86c0,0.38,0.21,0.64,0.64,0.79c0.22,0.08,0.43,0.06,0.64-0.05c0.21-0.11,0.34-0.29,0.41-0.53l0.24-1.03c0.07-0.21,0.05-0.41-0.07-0.62c-0.11-0.21-0.28-0.35-0.51-0.42c-0.24-0.06-0.47-0.04-0.67,0.08s-0.32,0.29-0.37,0.52l-0.3,1.02C8.29,18.7,8.28,18.78,8.28,18.86zM9.5,26.75c0,0.16,0.06,0.33,0.17,0.5c0.11,0.17,0.28,0.29,0.49,0.36c0.01,0,0.04,0,0.1,0.01c0.06,0.01,0.11,0.01,0.15,0.01c0.14,0,0.26-0.02,0.37-0.07c0.19-0.08,0.33-0.27,0.41-0.58l0.27-0.99c0.07-0.23,0.05-0.45-0.07-0.65c-0.12-0.2-0.29-0.34-0.51-0.4c-0.23-0.07-0.45-0.05-0.65,0.07c-0.2,0.12-0.34,0.29-0.4,0.51l-0.28,1.02C9.51,26.63,9.5,26.7,9.5,26.75zM9.96,4.68c0,0.25,0.08,0.46,0.25,0.62l0.66,0.65c0.34,0.34,0.73,0.34,1.17,0c0.16-0.17,0.24-0.38,0.24-0.61c0-0.23-0.08-0.43-0.24-0.61l-0.63-0.66c-0.16-0.16-0.36-0.24-0.6-0.24c-0.23,0-0.43,0.08-0.6,0.25C10.04,4.24,9.96,4.44,9.96,4.68zM10.85,21.96c0,0.17,0.05,0.34,0.16,0.51c0.11,0.17,0.26,0.28,0.47,0.35c0.23,0.07,0.44,0.05,0.64-0.05c0.19-0.1,0.33-0.29,0.4-0.56l0.24-1.01c0.07-0.23,0.05-0.45-0.06-0.65c-0.11-0.2-0.28-0.34-0.5-0.41c-0.25-0.07-0.48-0.04-0.68,0.08c-0.2,0.12-0.33,0.3-0.37,0.53l-0.28,1.03C10.85,21.81,10.85,21.87,10.85,21.96zM13.63,23.68c0.02,0.38,0.23,0.65,0.63,0.83l0.25,0.04c0.16,0,0.32-0.05,0.47-0.16c0.15-0.11,0.26-0.27,0.32-0.5l0.29-1.01c0.06-0.24,0.03-0.46-0.09-0.66c-0.12-0.2-0.3-0.33-0.53-0.37c-0.21-0.07-0.41-0.05-0.62,0.07s-0.34,0.29-0.41,0.51l-0.27,1.02c-0.01,0.02-0.01,0.05-0.02,0.08s-0.01,0.06-0.02,0.08S13.63,23.66,13.63,23.68zM15.03,18.92c0,0.16,0.05,0.32,0.15,0.48c0.1,0.16,0.25,0.27,0.45,0.32l0.25,0.03c0.19,0,0.37-0.06,0.52-0.18s0.24-0.28,0.28-0.47l0.27-0.99c0.07-0.24,0.05-0.45-0.07-0.65c-0.11-0.2-0.28-0.33-0.51-0.39c-0.23-0.07-0.45-0.05-0.64,0.06c-0.2,0.11-0.33,0.28-0.39,0.5l-0.3,1.06C15.04,18.77,15.03,18.85,15.03,18.92zM15.36,9.06c0.66-0.64,1.46-0.96,2.4-0.96c0.98,0,1.82,0.35,2.51,1.04c0.69,0.69,1.04,1.53,1.04,2.51c0,0.56-0.16,1.15-0.47,1.76c-0.96-0.96-2.11-1.43-3.47-1.43h-0.34C16.77,10.84,16.21,9.87,15.36,9.06zM16.9,3.83c0,0.25,0.08,0.45,0.24,0.61c0.16,0.16,0.36,0.24,0.61,0.24s0.45-0.08,0.61-0.24c0.16-0.16,0.24-0.36,0.24-0.61V1.81c0-0.25-0.08-0.46-0.24-0.62c-0.16-0.16-0.36-0.24-0.61-0.24s-0.45,0.08-0.61,0.24c-0.16,0.16-0.24,0.37-0.24,0.62V3.83zM22.45,6.12c0,0.25,0.08,0.45,0.23,0.61c0.21,0.17,0.41,0.25,0.62,0.25c0.19,0,0.38-0.08,0.59-0.25l1.43-1.43c0.16-0.18,0.24-0.39,0.24-0.63c0-0.24-0.08-0.44-0.24-0.6c-0.16-0.16-0.36-0.24-0.59-0.24s-0.43,0.08-0.61,0.24L22.68,5.5C22.53,5.68,22.45,5.88,22.45,6.12zM23.24,17.95c0,0.23,0.09,0.44,0.26,0.63l0.62,0.64c0.21,0.21,0.41,0.31,0.62,0.31c0.19,0,0.39-0.1,0.58-0.31c0.18-0.18,0.27-0.39,0.26-0.61c-0.01-0.23-0.09-0.43-0.26-0.6l-0.65-0.66c-0.16-0.16-0.35-0.24-0.57-0.24c-0.24,0-0.44,0.08-0.61,0.25C23.33,17.52,23.24,17.72,23.24,17.95zM24.71,11.64c0,0.22,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24h2.04c0.26,0,0.47-0.08,0.63-0.23c0.16-0.16,0.24-0.35,0.24-0.59c0-0.25-0.08-0.46-0.25-0.62c-0.17-0.16-0.37-0.24-0.62-0.24h-2.04c-0.23,0-0.43,0.08-0.59,0.25C24.79,11.2,24.71,11.41,24.71,11.64z\"}}]})(props);\r\n}\r\nexport const WiDaySleetStorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.49,16.88c0,1.12,0.33,2.12,1,3s1.53,1.47,2.58,1.76l-0.66,1.7c-0.05,0.14,0,0.22,0.14,0.22h2.13l-1.43,4.21h0.29l4.36-5.66c0.04-0.04,0.04-0.09,0.02-0.14C9.9,21.92,9.85,21.9,9.78,21.9H7.59l2.49-4.65c0.07-0.14,0.03-0.22-0.14-0.22H6.98c-0.09,0-0.17,0.05-0.23,0.15l-1.07,2.88C4.96,19.88,4.36,19.5,3.9,18.9c-0.47-0.59-0.7-1.26-0.7-2.02c0-0.84,0.28-1.57,0.84-2.18c0.56-0.61,1.27-0.97,2.11-1.07l0.51-0.03c0.12,0,0.19-0.05,0.22-0.14l0.07-0.59c0.11-1.08,0.56-1.99,1.37-2.72s1.76-1.1,2.86-1.1c1.09,0,2.04,0.37,2.86,1.1s1.29,1.64,1.4,2.72l0.08,0.59c0,0.11,0.06,0.17,0.18,0.17h1.61c0.89,0,1.66,0.32,2.31,0.96s0.97,1.4,0.97,2.29c0,0.87-0.3,1.62-0.9,2.26s-1.32,0.98-2.18,1.03c-0.13,0-0.2,0.06-0.2,0.18v1.34c0,0.11,0.07,0.17,0.2,0.17c0.88-0.02,1.69-0.26,2.42-0.72c0.73-0.45,1.31-1.06,1.74-1.81s0.64-1.57,0.64-2.45c0-0.73-0.14-1.4-0.43-2.02c0.76-0.96,1.14-2.06,1.14-3.29c0-0.95-0.24-1.83-0.71-2.64c-0.47-0.81-1.11-1.45-1.92-1.92c-0.81-0.47-1.69-0.71-2.64-0.71c-0.72,0-1.42,0.15-2.1,0.45c-0.68,0.3-1.26,0.72-1.76,1.25c-0.81-0.43-1.71-0.65-2.72-0.65c-1.42,0-2.68,0.44-3.77,1.32s-1.8,2-2.1,3.37c-1.11,0.26-2.02,0.84-2.74,1.74C1.85,14.7,1.49,15.73,1.49,16.88zM9.37,27.1c0,0.17,0.05,0.33,0.16,0.49c0.11,0.16,0.27,0.27,0.49,0.33c0.09,0.02,0.17,0.03,0.24,0.03c0.43,0,0.7-0.2,0.8-0.61l0.13-0.59c0.06-0.26,0.03-0.48-0.08-0.68c-0.12-0.2-0.29-0.32-0.53-0.37c-0.21-0.07-0.42-0.05-0.63,0.07c-0.21,0.12-0.34,0.29-0.41,0.51l-0.13,0.59C9.38,26.99,9.37,27.07,9.37,27.1zM9.9,4.59c0,0.23,0.08,0.43,0.25,0.6l0.65,0.66c0.16,0.16,0.34,0.24,0.55,0.26c0.21,0.03,0.41-0.04,0.61-0.23c0.2-0.18,0.3-0.39,0.3-0.64c0-0.23-0.08-0.43-0.25-0.6l-0.63-0.66c-0.16-0.16-0.36-0.24-0.6-0.24c-0.25,0-0.46,0.08-0.63,0.24C9.99,4.16,9.9,4.36,9.9,4.59zM10.16,24.2c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.23-0.08-0.42-0.23-0.58c-0.16-0.16-0.35-0.23-0.59-0.23s-0.43,0.08-0.59,0.23C10.24,23.77,10.16,23.97,10.16,24.2zM10.78,21.93c-0.01,0.15,0.03,0.31,0.14,0.47c0.1,0.16,0.25,0.26,0.45,0.3c0.23,0.06,0.44,0.04,0.64-0.06s0.33-0.29,0.41-0.56l0.26-0.9c0.07-0.22,0.05-0.43-0.07-0.63c-0.12-0.2-0.29-0.33-0.53-0.4c-0.22-0.07-0.43-0.04-0.64,0.08s-0.34,0.3-0.41,0.53l-0.23,0.9C10.79,21.74,10.78,21.83,10.78,21.93zM13.54,24.08c0,0.17,0.05,0.33,0.15,0.48c0.1,0.15,0.25,0.26,0.46,0.32c0.03,0,0.08,0.01,0.14,0.02c0.06,0.01,0.11,0.02,0.14,0.02c0.41,0,0.66-0.22,0.76-0.66l0.14-0.6c0.07-0.21,0.05-0.42-0.07-0.63c-0.12-0.21-0.29-0.34-0.51-0.41c-0.25-0.06-0.48-0.04-0.68,0.08c-0.2,0.12-0.34,0.29-0.41,0.53l-0.09,0.59c0,0.01,0,0.05-0.01,0.11C13.55,24,13.54,24.04,13.54,24.08zM14.28,21.12c0,0.23,0.08,0.42,0.24,0.57c0.15,0.16,0.34,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23C14.36,20.69,14.28,20.88,14.28,21.12zM15.31,9.02c0.67-0.64,1.48-0.97,2.45-0.97c0.98,0,1.82,0.34,2.51,1.03c0.69,0.68,1.04,1.52,1.04,2.5c0,0.66-0.16,1.26-0.47,1.81c-0.96-0.96-2.13-1.44-3.52-1.44h-0.31C16.72,10.76,16.15,9.78,15.31,9.02zM16.91,3.75c0,0.24,0.08,0.44,0.25,0.61s0.37,0.25,0.6,0.25c0.24,0,0.44-0.08,0.6-0.25c0.16-0.17,0.24-0.37,0.24-0.61V1.69c0-0.24-0.08-0.45-0.24-0.61C18.2,0.91,18,0.82,17.76,0.82c-0.24,0-0.44,0.08-0.6,0.25s-0.25,0.37-0.25,0.61V3.75zM22.49,6.04c0,0.24,0.08,0.44,0.23,0.6c0.14,0.16,0.32,0.24,0.55,0.26c0.23,0.02,0.44-0.07,0.63-0.26l1.44-1.44c0.18-0.16,0.26-0.36,0.26-0.6s-0.09-0.44-0.26-0.6c-0.16-0.18-0.36-0.26-0.6-0.26c-0.23,0-0.42,0.09-0.58,0.26l-1.44,1.44C22.56,5.59,22.49,5.79,22.49,6.04zM23.26,17.95c0,0.23,0.08,0.43,0.25,0.6l0.65,0.63c0.18,0.17,0.39,0.25,0.62,0.25l0.02,0.02c0.22,0,0.4-0.09,0.54-0.27c0.18-0.16,0.26-0.36,0.26-0.6c0-0.23-0.09-0.43-0.26-0.61l-0.62-0.62c-0.18-0.18-0.38-0.27-0.61-0.27c-0.24,0-0.44,0.09-0.6,0.26C23.35,17.51,23.26,17.72,23.26,17.95zM24.73,11.58c0,0.24,0.09,0.44,0.26,0.59c0.16,0.18,0.36,0.26,0.6,0.26h2.06c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.25-0.37,0.25-0.6s-0.08-0.44-0.25-0.6c-0.17-0.16-0.37-0.24-0.61-0.24h-2.06c-0.24,0-0.45,0.08-0.61,0.24C24.81,11.14,24.73,11.34,24.73,11.58z\"}}]})(props);\r\n}\r\nexport const WiDaySleet = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.49,16.92L1.49,16.92c0-1.17,0.36-2.19,1.08-3.09s1.64-1.48,2.74-1.74c0.31-1.37,1.01-2.49,2.1-3.38c1.1-0.88,2.35-1.32,3.77-1.32c0.99,0,1.9,0.22,2.72,0.66c0.5-0.53,1.09-0.95,1.76-1.25c0.67-0.3,1.37-0.45,2.09-0.45c0.95,0,1.83,0.24,2.64,0.71c0.81,0.47,1.45,1.11,1.92,1.92c0.47,0.81,0.71,1.69,0.71,2.64c0,1.23-0.38,2.33-1.14,3.29c0.29,0.61,0.43,1.28,0.43,2.02c0,0.88-0.21,1.7-0.64,2.45c-0.42,0.75-1,1.36-1.74,1.81c-0.73,0.46-1.54,0.7-2.42,0.72c-0.13,0-0.2-0.06-0.2-0.18v-1.34c0-0.12,0.07-0.18,0.2-0.18c0.86-0.04,1.58-0.39,2.18-1.03c0.6-0.64,0.9-1.4,0.9-2.26c0-0.89-0.32-1.65-0.97-2.29s-1.41-0.96-2.31-0.96h-1.61c-0.12,0-0.18-0.06-0.18-0.17l-0.08-0.59c-0.11-1.08-0.58-1.99-1.4-2.72c-0.82-0.73-1.78-1.1-2.86-1.1c-1.1,0-2.05,0.37-2.86,1.1c-0.81,0.73-1.27,1.64-1.37,2.72L6.88,13.5c-0.03,0.09-0.11,0.13-0.22,0.13l-0.51,0.04c-0.84,0.1-1.55,0.45-2.11,1.06s-0.84,1.34-0.84,2.18v0.05h0.03c0.01,0.98,0.38,1.78,1.11,2.43c0.22,0.19,0.47,0.36,0.74,0.49v0.02c0.41,0.19,0.82,0.29,1.21,0.31c0.11,0,0.17,0.06,0.17,0.17v1.34c0,0.11-0.06,0.17-0.17,0.17c-0.52-0.03-1.01-0.13-1.48-0.3v0.02c-0.83-0.29-1.54-0.77-2.11-1.43s-0.95-1.44-1.11-2.31v-0.04c-0.01-0.01-0.01-0.02-0.01-0.03C1.51,17.54,1.49,17.25,1.49,16.92zM6.99,24.09c0-0.03,0.01-0.07,0.02-0.13c0.01-0.05,0.02-0.09,0.02-0.12l0.09-0.59c0.07-0.24,0.2-0.41,0.41-0.53c0.2-0.12,0.43-0.14,0.68-0.08c0.23,0.07,0.39,0.2,0.51,0.41c0.11,0.2,0.13,0.41,0.07,0.62l-0.14,0.6c-0.1,0.44-0.35,0.66-0.76,0.66c-0.03,0-0.08,0-0.15-0.01s-0.11-0.01-0.13-0.01c-0.21-0.06-0.36-0.17-0.46-0.33C7.04,24.43,6.99,24.26,6.99,24.09zM7.73,21.15c0-0.24,0.08-0.43,0.23-0.59c0.16-0.16,0.35-0.23,0.59-0.23s0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.59c0,0.23-0.08,0.42-0.23,0.58s-0.35,0.23-0.59,0.23c-0.23,0-0.42-0.08-0.57-0.24C7.81,21.56,7.73,21.37,7.73,21.15zM9.37,27.13c0-0.04,0.01-0.11,0.04-0.23l0.13-0.58c0.07-0.23,0.21-0.4,0.41-0.51c0.21-0.12,0.42-0.14,0.63-0.07c0.23,0.04,0.41,0.17,0.53,0.37c0.12,0.2,0.15,0.43,0.08,0.68l-0.13,0.59c-0.1,0.41-0.37,0.61-0.8,0.61c-0.05,0-0.13-0.01-0.24-0.04c-0.22-0.06-0.38-0.17-0.49-0.33C9.42,27.46,9.37,27.3,9.37,27.13zM9.9,4.62c0-0.24,0.08-0.44,0.25-0.6c0.17-0.16,0.38-0.24,0.63-0.24c0.24,0,0.44,0.08,0.6,0.24l0.63,0.66c0.17,0.17,0.25,0.37,0.25,0.6c0,0.24-0.1,0.46-0.3,0.64c-0.2,0.18-0.4,0.26-0.61,0.23c-0.21-0.02-0.39-0.11-0.55-0.27l-0.65-0.66C9.99,5.05,9.9,4.85,9.9,4.62zM10.16,24.23c0-0.23,0.08-0.43,0.23-0.58c0.16-0.16,0.35-0.23,0.59-0.23s0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.58c0,0.24-0.08,0.43-0.23,0.59c-0.16,0.16-0.35,0.23-0.59,0.23c-0.22,0-0.41-0.08-0.58-0.25C10.24,24.64,10.16,24.45,10.16,24.23zM10.78,21.96c0-0.09,0.01-0.18,0.03-0.26l0.23-0.9c0.07-0.23,0.21-0.41,0.41-0.53c0.21-0.12,0.42-0.15,0.64-0.08c0.24,0.07,0.41,0.2,0.53,0.4c0.12,0.2,0.14,0.4,0.07,0.62l-0.26,0.9c-0.08,0.27-0.22,0.46-0.41,0.57s-0.41,0.12-0.64,0.06c-0.2-0.04-0.35-0.14-0.45-0.3C10.81,22.26,10.76,22.11,10.78,21.96zM13.54,24.1c0-0.03,0-0.07,0.01-0.13c0.01-0.06,0.01-0.09,0.01-0.11l0.09-0.59c0.07-0.24,0.2-0.41,0.41-0.53c0.2-0.12,0.43-0.14,0.68-0.08c0.23,0.07,0.4,0.21,0.51,0.41c0.12,0.21,0.14,0.42,0.07,0.63l-0.14,0.6c-0.1,0.43-0.35,0.65-0.76,0.65c-0.03,0-0.08,0-0.15-0.01c-0.07-0.01-0.11-0.01-0.13-0.01c-0.2-0.06-0.35-0.17-0.45-0.33C13.59,24.43,13.54,24.27,13.54,24.1zM14.28,21.16c0-0.24,0.08-0.43,0.23-0.59c0.16-0.16,0.35-0.23,0.59-0.23c0.24,0,0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.59c0,0.23-0.08,0.43-0.23,0.58c-0.16,0.16-0.35,0.23-0.59,0.23c-0.23,0-0.43-0.08-0.58-0.25C14.36,21.57,14.28,21.38,14.28,21.16zM15.31,9.05c0.84,0.76,1.4,1.74,1.7,2.93h0.31c1.38,0,2.55,0.48,3.52,1.45c0.31-0.55,0.47-1.16,0.47-1.82c0-0.98-0.35-1.81-1.04-2.5c-0.69-0.68-1.53-1.03-2.51-1.03C16.8,8.08,15.98,8.4,15.31,9.05zM16.91,3.78V1.73c0-0.24,0.08-0.44,0.25-0.61c0.17-0.17,0.37-0.26,0.6-0.26c0.24,0,0.44,0.08,0.6,0.25c0.16,0.17,0.24,0.38,0.24,0.62v2.05c0,0.24-0.08,0.45-0.24,0.62C18.2,4.57,18,4.65,17.76,4.65c-0.23,0-0.43-0.09-0.6-0.26C16.99,4.22,16.91,4.02,16.91,3.78zM22.49,6.07c0-0.24,0.08-0.44,0.23-0.6l1.44-1.45c0.15-0.17,0.34-0.25,0.58-0.25c0.24,0,0.44,0.08,0.6,0.25c0.18,0.16,0.26,0.36,0.26,0.6c0,0.24-0.09,0.44-0.26,0.6L23.9,6.68c-0.19,0.19-0.4,0.27-0.63,0.26c-0.23-0.02-0.41-0.1-0.55-0.26C22.56,6.52,22.49,6.32,22.49,6.07zM23.26,17.98c0-0.24,0.08-0.44,0.25-0.61c0.17-0.17,0.37-0.25,0.6-0.25c0.23,0,0.43,0.09,0.61,0.26l0.62,0.63c0.18,0.17,0.26,0.38,0.26,0.61c0,0.24-0.09,0.44-0.26,0.6c-0.14,0.17-0.32,0.26-0.54,0.26l-0.02-0.02c-0.24,0-0.44-0.08-0.62-0.24l-0.65-0.64C23.35,18.41,23.26,18.21,23.26,17.98zM24.73,11.61c0-0.24,0.08-0.44,0.25-0.6c0.17-0.16,0.37-0.24,0.61-0.24h2.06c0.24,0,0.45,0.08,0.61,0.24s0.25,0.36,0.25,0.6c0,0.24-0.08,0.44-0.25,0.61c-0.17,0.17-0.37,0.25-0.61,0.25h-2.06c-0.24,0-0.44-0.09-0.6-0.27C24.81,12.05,24.73,11.85,24.73,11.61z\"}}]})(props);\r\n}\r\nexport const WiDaySnowThunderstorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.49,16.88c0,1.12,0.33,2.12,1,3s1.53,1.47,2.58,1.76l-0.66,1.7c-0.05,0.14,0,0.22,0.14,0.22h2.13l-1.43,4.21h0.29l4.36-5.66c0.04-0.04,0.04-0.09,0.02-0.14C9.9,21.92,9.85,21.9,9.78,21.9H7.59l2.49-4.65c0.07-0.14,0.03-0.22-0.14-0.22H6.98c-0.09,0-0.17,0.05-0.23,0.15l-1.07,2.88C4.96,19.88,4.36,19.5,3.9,18.9c-0.47-0.59-0.7-1.26-0.7-2.02c0-0.84,0.28-1.57,0.84-2.18c0.56-0.61,1.27-0.97,2.11-1.07l0.51-0.03c0.12,0,0.19-0.05,0.22-0.14l0.07-0.59c0.11-1.08,0.56-1.99,1.37-2.72s1.76-1.1,2.86-1.1c1.09,0,2.04,0.37,2.86,1.1s1.29,1.64,1.4,2.72l0.08,0.59c0,0.11,0.06,0.17,0.18,0.17h1.61c0.89,0,1.66,0.32,2.31,0.96s0.97,1.4,0.97,2.29c0,0.87-0.3,1.62-0.9,2.26s-1.32,0.98-2.18,1.03c-0.13,0-0.2,0.06-0.2,0.18v1.34c0,0.11,0.07,0.17,0.2,0.17c0.88-0.02,1.69-0.26,2.42-0.72c0.73-0.45,1.31-1.06,1.74-1.81s0.64-1.57,0.64-2.45c0-0.73-0.14-1.4-0.43-2.02c0.76-0.96,1.14-2.06,1.14-3.29c0-0.95-0.24-1.83-0.71-2.64c-0.47-0.81-1.11-1.45-1.92-1.92c-0.81-0.47-1.69-0.71-2.64-0.71c-0.72,0-1.42,0.15-2.1,0.45c-0.68,0.3-1.26,0.72-1.76,1.25c-0.81-0.43-1.71-0.65-2.72-0.65c-1.42,0-2.68,0.44-3.77,1.32s-1.8,2-2.1,3.37c-1.11,0.26-2.02,0.84-2.74,1.74C1.85,14.7,1.49,15.73,1.49,16.88zM9.9,4.59c0,0.23,0.08,0.43,0.25,0.6l0.65,0.66c0.16,0.16,0.34,0.24,0.55,0.26c0.21,0.03,0.41-0.04,0.61-0.23c0.2-0.18,0.3-0.39,0.3-0.64c0-0.23-0.08-0.43-0.25-0.6l-0.63-0.66c-0.16-0.16-0.36-0.24-0.6-0.24c-0.25,0-0.46,0.08-0.63,0.24C9.99,4.16,9.9,4.36,9.9,4.59zM11.08,22.96c0,0.24,0.08,0.44,0.24,0.59c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.61-0.24s0.25-0.36,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61s-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26S11.08,22.72,11.08,22.96zM11.08,19.32c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.61-0.23s0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.6s-0.37-0.25-0.61-0.25c-0.23,0-0.42,0.08-0.58,0.25S11.08,19.09,11.08,19.32zM11.08,26.63c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26C11.16,26.19,11.08,26.4,11.08,26.63zM14.31,21.02c0,0.24,0.08,0.44,0.25,0.6s0.36,0.25,0.6,0.25c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.6c0-0.22-0.08-0.42-0.24-0.58c-0.16-0.16-0.35-0.24-0.59-0.24c-0.23,0-0.43,0.08-0.6,0.24S14.31,20.79,14.31,21.02zM14.31,24.66c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.6,0.24c0.24,0,0.43-0.08,0.59-0.24c0.16-0.16,0.23-0.35,0.23-0.59c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.23C14.39,24.22,14.31,24.42,14.31,24.66zM15.31,9.02c0.67-0.64,1.48-0.97,2.45-0.97c0.98,0,1.82,0.34,2.51,1.03c0.69,0.68,1.04,1.52,1.04,2.5c0,0.66-0.16,1.26-0.47,1.81c-0.96-0.96-2.13-1.44-3.52-1.44h-0.31C16.72,10.76,16.15,9.78,15.31,9.02zM16.91,3.75c0,0.24,0.08,0.44,0.25,0.61s0.37,0.25,0.6,0.25c0.24,0,0.44-0.08,0.6-0.25c0.16-0.17,0.24-0.37,0.24-0.61V1.69c0-0.24-0.08-0.45-0.24-0.61C18.2,0.91,18,0.82,17.76,0.82c-0.24,0-0.44,0.08-0.6,0.25s-0.25,0.37-0.25,0.61V3.75zM22.49,6.04c0,0.24,0.08,0.44,0.23,0.6c0.14,0.16,0.32,0.24,0.55,0.26c0.23,0.02,0.44-0.07,0.63-0.26l1.44-1.44c0.18-0.16,0.26-0.36,0.26-0.6s-0.09-0.44-0.26-0.6c-0.16-0.18-0.36-0.26-0.6-0.26c-0.23,0-0.42,0.09-0.58,0.26l-1.44,1.44C22.56,5.59,22.49,5.79,22.49,6.04zM23.26,17.95c0,0.23,0.08,0.43,0.25,0.6l0.65,0.63c0.18,0.17,0.39,0.25,0.62,0.25l0.02,0.02c0.22,0,0.4-0.09,0.54-0.27c0.18-0.16,0.26-0.36,0.26-0.6c0-0.23-0.09-0.43-0.26-0.61l-0.62-0.62c-0.18-0.18-0.38-0.27-0.61-0.27c-0.24,0-0.44,0.09-0.6,0.26C23.35,17.51,23.26,17.72,23.26,17.95zM24.73,11.58c0,0.24,0.09,0.44,0.26,0.59c0.16,0.18,0.36,0.26,0.6,0.26h2.06c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.25-0.37,0.25-0.6s-0.08-0.44-0.25-0.6c-0.17-0.16-0.37-0.24-0.61-0.24h-2.06c-0.24,0-0.45,0.08-0.61,0.24C24.81,11.14,24.73,11.34,24.73,11.58z\"}}]})(props);\r\n}\r\nexport const WiDaySnowWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.58,16.93c0,0.86,0.21,1.67,0.64,2.41c0.42,0.74,1,1.34,1.74,1.79c0.73,0.45,1.54,0.69,2.4,0.71c0.11,0,0.17-0.06,0.17-0.17v-1.33c0-0.12-0.06-0.19-0.17-0.19c-0.85-0.04-1.58-0.38-2.18-1.02s-0.9-1.37-0.9-2.21c0-0.82,0.28-1.54,0.85-2.16c0.57-0.61,1.26-0.97,2.1-1.07l0.53-0.06c0.12,0,0.18-0.06,0.18-0.19l0.08-0.51c0.11-1.09,0.56-2,1.36-2.73c0.8-0.73,1.75-1.09,2.85-1.09c1.09,0,2.04,0.36,2.85,1.09c0.82,0.73,1.28,1.63,1.38,2.7l0.07,0.58c0,0.11,0.06,0.17,0.17,0.17h1.61c0.9,0,1.67,0.32,2.31,0.96c0.64,0.64,0.96,1.4,0.96,2.29c0,0.84-0.3,1.57-0.9,2.21c-0.6,0.63-1.33,0.97-2.17,1.02c-0.12,0-0.19,0.06-0.19,0.19v1.33c0,0.11,0.06,0.17,0.19,0.17c1.33-0.04,2.45-0.54,3.38-1.5c0.93-0.96,1.39-2.09,1.39-3.41c0-0.76-0.14-1.43-0.43-2.03C22.6,13.95,23,12.85,23,11.6c0-0.94-0.23-1.81-0.7-2.61c-0.47-0.8-1.11-1.44-1.91-1.91s-1.68-0.7-2.62-0.7c-1.54,0-2.83,0.58-3.87,1.73c-0.81-0.44-1.71-0.66-2.69-0.66c-1.41,0-2.65,0.44-3.74,1.31s-1.78,1.99-2.09,3.34c-1.12,0.28-2.03,0.86-2.74,1.75C1.93,14.75,1.58,15.77,1.58,16.93zM7.06,24.61c0,0.21,0.08,0.4,0.24,0.57c0.18,0.16,0.37,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.24-0.59c-0.16-0.16-0.35-0.23-0.59-0.23s-0.43,0.08-0.59,0.23C7.14,24.17,7.06,24.37,7.06,24.61zM7.92,20.98c0,0.24,0.08,0.44,0.24,0.61c0.16,0.17,0.35,0.25,0.59,0.25c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61c0-0.23-0.08-0.42-0.24-0.58s-0.35-0.24-0.59-0.24c-0.23,0-0.43,0.08-0.59,0.24S7.92,20.76,7.92,20.98zM9.82,26.56c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.44-0.08,0.6-0.23c0.17-0.16,0.25-0.35,0.25-0.59s-0.08-0.44-0.25-0.6c-0.17-0.17-0.37-0.25-0.6-0.25c-0.22,0-0.41,0.08-0.58,0.25C9.9,26.13,9.82,26.33,9.82,26.56zM9.97,4.68c0,0.24,0.08,0.44,0.24,0.59l0.66,0.66c0.16,0.16,0.34,0.25,0.53,0.25c0.21,0.03,0.41-0.04,0.61-0.22c0.2-0.18,0.3-0.39,0.3-0.63c0-0.24-0.08-0.46-0.24-0.64l-0.64-0.61c-0.15-0.17-0.34-0.25-0.58-0.25c-0.25,0-0.46,0.08-0.63,0.25C10.05,4.24,9.97,4.44,9.97,4.68zM10.67,22.9c0,0.22,0.08,0.42,0.25,0.6c0.16,0.16,0.35,0.24,0.57,0.24c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.36,0.25-0.6c0-0.23-0.08-0.43-0.25-0.6c-0.17-0.17-0.37-0.25-0.61-0.25c-0.22,0-0.42,0.08-0.58,0.25C10.75,22.47,10.67,22.67,10.67,22.9zM11.1,19.3c0,0.23,0.08,0.42,0.24,0.58s0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.6-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.59s-0.37-0.24-0.6-0.24c-0.23,0-0.42,0.08-0.58,0.24S11.1,19.07,11.1,19.3zM13.47,24.61c0,0.21,0.08,0.4,0.23,0.57c0.17,0.16,0.38,0.24,0.6,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.24S13.47,24.38,13.47,24.61zM14.32,20.98c0,0.24,0.08,0.44,0.24,0.61c0.16,0.17,0.36,0.25,0.59,0.25s0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61c0-0.23-0.08-0.42-0.24-0.58s-0.35-0.24-0.59-0.24s-0.43,0.08-0.59,0.24S14.32,20.76,14.32,20.98zM15.3,9.06c0.69-0.66,1.51-0.99,2.47-0.99c0.97,0,1.8,0.35,2.48,1.04c0.69,0.69,1.03,1.53,1.03,2.49c0,0.62-0.17,1.24-0.51,1.84C19.82,12.48,18.66,12,17.3,12h-0.32C16.68,10.83,16.12,9.85,15.3,9.06zM16.9,3.84c0,0.23,0.08,0.43,0.25,0.58s0.37,0.23,0.61,0.23s0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58V1.8c0-0.24-0.08-0.44-0.24-0.61S18,0.94,17.77,0.94s-0.43,0.09-0.6,0.26c-0.17,0.17-0.26,0.37-0.26,0.6V3.84zM22.42,6.11c0,0.23,0.08,0.43,0.25,0.59c0.15,0.16,0.34,0.24,0.56,0.26s0.43-0.07,0.62-0.26l1.43-1.43c0.18-0.18,0.26-0.38,0.26-0.61c0-0.24-0.09-0.44-0.26-0.61c-0.17-0.17-0.37-0.25-0.6-0.25c-0.22,0-0.41,0.08-0.58,0.25l-1.43,1.46C22.5,5.67,22.42,5.87,22.42,6.11zM23.22,17.91c0,0.25,0.08,0.46,0.24,0.62l0.64,0.63c0.24,0.16,0.46,0.24,0.64,0.24c0.21,0,0.39-0.09,0.56-0.26c0.17-0.17,0.25-0.38,0.25-0.61c0-0.23-0.09-0.42-0.26-0.58l-0.62-0.65c-0.18-0.16-0.38-0.24-0.61-0.24s-0.43,0.08-0.59,0.25C23.3,17.47,23.22,17.67,23.22,17.91zM24.67,11.6c0,0.24,0.09,0.43,0.26,0.59c0.17,0.18,0.38,0.27,0.62,0.27h2.02c0.23,0,0.43-0.08,0.6-0.25s0.25-0.37,0.25-0.61c0-0.24-0.08-0.44-0.25-0.6s-0.37-0.25-0.6-0.25h-2.02c-0.24,0-0.44,0.08-0.62,0.25S24.67,11.37,24.67,11.6z\"}}]})(props);\r\n}\r\nexport const WiDaySnow = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.58,16.93c0,0.86,0.21,1.67,0.64,2.41c0.42,0.74,1,1.34,1.74,1.79c0.73,0.45,1.54,0.69,2.4,0.71c0.11,0,0.17-0.06,0.17-0.17v-1.33c0-0.12-0.06-0.19-0.17-0.19c-0.85-0.04-1.58-0.38-2.18-1.02s-0.9-1.37-0.9-2.21c0-0.82,0.28-1.54,0.85-2.16c0.57-0.61,1.26-0.97,2.1-1.07l0.53-0.06c0.12,0,0.18-0.06,0.18-0.19l0.08-0.51c0.11-1.09,0.56-2,1.36-2.73c0.8-0.73,1.75-1.09,2.85-1.09c1.09,0,2.04,0.36,2.85,1.09c0.82,0.73,1.28,1.63,1.38,2.7l0.07,0.58c0,0.11,0.06,0.17,0.17,0.17h1.61c0.9,0,1.67,0.32,2.31,0.96c0.64,0.64,0.96,1.4,0.96,2.29c0,0.84-0.3,1.57-0.9,2.21c-0.6,0.63-1.33,0.97-2.17,1.02c-0.12,0-0.19,0.06-0.19,0.19v1.33c0,0.11,0.06,0.17,0.19,0.17c1.33-0.04,2.45-0.54,3.38-1.5c0.93-0.96,1.39-2.09,1.39-3.41c0-0.76-0.14-1.43-0.43-2.03C22.6,13.95,23,12.85,23,11.6c0-0.94-0.23-1.81-0.7-2.61c-0.47-0.8-1.11-1.44-1.91-1.91s-1.68-0.7-2.62-0.7c-1.54,0-2.83,0.58-3.87,1.73c-0.81-0.44-1.71-0.66-2.69-0.66c-1.41,0-2.65,0.44-3.74,1.31s-1.78,1.99-2.09,3.34c-1.12,0.28-2.03,0.86-2.74,1.75C1.93,14.75,1.58,15.77,1.58,16.93zM7.92,20.98c0,0.24,0.08,0.44,0.24,0.61c0.16,0.17,0.35,0.25,0.59,0.25c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61c0-0.23-0.08-0.42-0.24-0.58s-0.35-0.24-0.59-0.24c-0.23,0-0.43,0.08-0.59,0.24S7.92,20.76,7.92,20.98zM7.92,24.61c0,0.21,0.08,0.4,0.24,0.57c0.18,0.16,0.37,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.24-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.23,0-0.43,0.08-0.59,0.23C8,24.17,7.92,24.37,7.92,24.61zM9.97,4.68c0,0.24,0.08,0.44,0.24,0.59l0.66,0.66c0.16,0.16,0.34,0.25,0.53,0.25c0.21,0.03,0.41-0.04,0.61-0.22c0.2-0.18,0.3-0.39,0.3-0.63c0-0.24-0.08-0.46-0.24-0.64l-0.64-0.61c-0.15-0.17-0.34-0.25-0.58-0.25c-0.25,0-0.46,0.08-0.63,0.25C10.05,4.24,9.97,4.44,9.97,4.68zM11.1,22.9c0,0.22,0.08,0.42,0.24,0.6c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.6-0.24s0.25-0.36,0.25-0.6c0-0.23-0.08-0.43-0.25-0.6s-0.37-0.25-0.6-0.25c-0.23,0-0.42,0.08-0.58,0.25S11.1,22.67,11.1,22.9zM11.1,19.3c0,0.23,0.08,0.42,0.24,0.58s0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.6-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.59s-0.37-0.24-0.6-0.24c-0.23,0-0.42,0.08-0.58,0.24S11.1,19.07,11.1,19.3zM11.1,26.56c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.44-0.08,0.6-0.23c0.17-0.16,0.25-0.35,0.25-0.59s-0.08-0.44-0.25-0.6c-0.17-0.17-0.37-0.25-0.6-0.25c-0.22,0-0.41,0.08-0.58,0.25C11.18,26.13,11.1,26.33,11.1,26.56zM14.32,20.98c0,0.24,0.08,0.44,0.24,0.61c0.16,0.17,0.36,0.25,0.59,0.25s0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61c0-0.23-0.08-0.42-0.24-0.58s-0.35-0.24-0.59-0.24s-0.43,0.08-0.59,0.24S14.32,20.76,14.32,20.98zM14.32,24.61c0,0.21,0.08,0.4,0.23,0.57c0.18,0.16,0.38,0.24,0.6,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.24-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.24C14.4,24.18,14.32,24.38,14.32,24.61zM15.3,9.06c0.69-0.66,1.51-0.99,2.47-0.99c0.97,0,1.8,0.35,2.48,1.04c0.69,0.69,1.03,1.53,1.03,2.49c0,0.62-0.17,1.24-0.51,1.84C19.82,12.48,18.66,12,17.3,12h-0.32C16.68,10.83,16.12,9.85,15.3,9.06zM16.9,3.84c0,0.23,0.08,0.43,0.25,0.58s0.37,0.23,0.61,0.23s0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58V1.8c0-0.24-0.08-0.44-0.24-0.61S18,0.94,17.77,0.94s-0.43,0.09-0.6,0.26c-0.17,0.17-0.26,0.37-0.26,0.6V3.84zM22.42,6.11c0,0.23,0.08,0.43,0.25,0.59c0.15,0.16,0.34,0.24,0.56,0.26s0.43-0.07,0.62-0.26l1.43-1.43c0.18-0.18,0.26-0.38,0.26-0.61c0-0.24-0.09-0.44-0.26-0.61c-0.17-0.17-0.37-0.25-0.6-0.25c-0.22,0-0.41,0.08-0.58,0.25l-1.43,1.46C22.5,5.67,22.42,5.87,22.42,6.11zM23.22,17.91c0,0.25,0.08,0.46,0.24,0.62l0.64,0.63c0.24,0.16,0.46,0.24,0.64,0.24c0.21,0,0.39-0.09,0.56-0.26c0.17-0.17,0.25-0.38,0.25-0.61c0-0.23-0.09-0.42-0.26-0.58l-0.62-0.65c-0.18-0.16-0.38-0.24-0.61-0.24s-0.43,0.08-0.59,0.25C23.3,17.47,23.22,17.67,23.22,17.91zM24.67,11.6c0,0.24,0.09,0.43,0.26,0.59c0.17,0.18,0.38,0.27,0.62,0.27h2.02c0.23,0,0.43-0.08,0.6-0.25s0.25-0.37,0.25-0.61c0-0.24-0.08-0.44-0.25-0.6s-0.37-0.25-0.6-0.25h-2.02c-0.24,0-0.44,0.08-0.62,0.25S24.67,11.37,24.67,11.6z\"}}]})(props);\r\n}\r\nexport const WiDaySprinkle = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.58,16.89c0,0.87,0.21,1.68,0.64,2.42c0.42,0.75,1,1.35,1.73,1.8c0.73,0.45,1.53,0.69,2.4,0.73c0.12,0,0.18-0.06,0.18-0.17v-1.33c0-0.12-0.06-0.19-0.18-0.19c-0.85-0.04-1.58-0.38-2.18-1.02s-0.9-1.38-0.9-2.25c0-0.82,0.28-1.54,0.84-2.15s1.26-0.96,2.09-1.06l0.52-0.03c0.12,0,0.19-0.06,0.19-0.18l0.08-0.54c0.11-1.08,0.56-1.98,1.36-2.71c0.8-0.73,1.75-1.09,2.85-1.09c1.07,0,2.02,0.36,2.84,1.09c0.82,0.73,1.28,1.63,1.4,2.7l0.07,0.58c0,0.11,0.06,0.17,0.17,0.17h1.62c0.88,0,1.65,0.32,2.29,0.96c0.65,0.64,0.97,1.39,0.97,2.26c0,0.86-0.3,1.61-0.9,2.25c-0.6,0.63-1.33,0.97-2.18,1.02c-0.12,0-0.18,0.06-0.18,0.19v1.33c0,0.11,0.06,0.17,0.18,0.17c0.87-0.02,1.67-0.26,2.4-0.72s1.31-1.05,1.73-1.8s0.63-1.56,0.63-2.43c0-0.74-0.14-1.4-0.41-2c0.78-0.95,1.16-2.05,1.16-3.3c0-0.94-0.23-1.82-0.7-2.62s-1.1-1.44-1.9-1.9c-0.8-0.47-1.67-0.7-2.61-0.7c-1.55,0-2.84,0.58-3.87,1.73c-0.82-0.44-1.72-0.66-2.69-0.66c-1.41,0-2.65,0.44-3.74,1.31s-1.78,1.99-2.09,3.34c-1.1,0.26-2.01,0.84-2.72,1.73C1.93,14.73,1.58,15.75,1.58,16.89zM7.48,17.77c0,0.38,0.14,0.71,0.42,0.98s0.62,0.4,1.01,0.4c0.4,0,0.73-0.13,1-0.4c0.27-0.27,0.4-0.59,0.4-0.98c0-0.24-0.12-0.58-0.35-1c-0.23-0.43-0.45-0.76-0.65-0.99c-0.21-0.22-0.35-0.37-0.4-0.42l-0.36,0.4c-0.27,0.29-0.52,0.63-0.74,1.03S7.48,17.52,7.48,17.77zM9.97,4.66c0,0.26,0.08,0.46,0.24,0.61l0.65,0.66c0.42,0.31,0.82,0.31,1.21,0c0.16-0.19,0.24-0.41,0.24-0.64c0-0.23-0.08-0.43-0.24-0.59l-0.64-0.65c-0.19-0.17-0.39-0.25-0.61-0.25c-0.24,0-0.45,0.08-0.61,0.25C10.05,4.22,9.97,4.42,9.97,4.66zM10.45,21.73c0,0.66,0.23,1.21,0.68,1.65s1,0.67,1.65,0.67c0.65,0,1.2-0.23,1.66-0.68c0.46-0.46,0.68-1,0.68-1.64c0-0.54-0.27-1.19-0.81-1.97c-0.46-0.61-0.89-1.1-1.28-1.49c-0.08-0.06-0.17-0.13-0.26-0.23l-0.23,0.23c-0.36,0.32-0.78,0.82-1.27,1.47C10.73,20.5,10.45,21.16,10.45,21.73zM11.93,15.11c0,0.25,0.1,0.47,0.29,0.65c0.19,0.18,0.42,0.27,0.69,0.27c0.26,0,0.48-0.09,0.66-0.27c0.18-0.18,0.27-0.4,0.27-0.65c0-0.41-0.31-0.95-0.93-1.6l-0.24,0.25c-0.18,0.2-0.35,0.43-0.5,0.7C12,14.73,11.93,14.94,11.93,15.11zM15.3,9.06c0.66-0.66,1.48-0.99,2.47-0.99c0.98,0,1.8,0.34,2.49,1.03c0.68,0.69,1.03,1.52,1.03,2.5c0,0.59-0.17,1.2-0.52,1.84C19.8,12.48,18.64,12,17.3,12h-0.33C16.68,10.84,16.12,9.86,15.3,9.06zM16.9,3.8c0,0.24,0.09,0.44,0.26,0.61c0.17,0.17,0.37,0.25,0.6,0.25s0.43-0.08,0.58-0.25c0.16-0.17,0.23-0.37,0.23-0.61V1.76c0-0.24-0.08-0.43-0.23-0.59S18,0.94,17.77,0.94s-0.44,0.08-0.61,0.23S16.9,1.52,16.9,1.76V3.8zM22.42,6.11c0,0.24,0.08,0.44,0.25,0.59c0.17,0.16,0.36,0.24,0.56,0.24c0.17,0,0.38-0.08,0.61-0.24l1.43-1.43c0.18-0.18,0.27-0.39,0.27-0.62c0-0.24-0.08-0.45-0.25-0.61c-0.17-0.16-0.37-0.24-0.61-0.24c-0.22,0-0.41,0.08-0.58,0.25l-1.43,1.43C22.5,5.65,22.42,5.86,22.42,6.11zM23.22,17.89c0,0.25,0.08,0.46,0.23,0.64l0.65,0.58c0.14,0.18,0.34,0.27,0.59,0.27c0.24,0,0.44-0.09,0.58-0.27c0.18-0.16,0.27-0.36,0.27-0.58c0-0.22-0.09-0.41-0.27-0.58l-0.61-0.65c-0.18-0.16-0.38-0.24-0.61-0.24c-0.24,0-0.44,0.08-0.6,0.24S23.22,17.66,23.22,17.89zM24.67,11.6c0,0.22,0.08,0.42,0.25,0.58c0.17,0.16,0.38,0.24,0.63,0.24h2.02c0.24,0,0.44-0.08,0.6-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.24-0.08-0.44-0.25-0.6s-0.37-0.25-0.6-0.25h-2.02c-0.24,0-0.44,0.08-0.62,0.25S24.67,11.37,24.67,11.6z\"}}]})(props);\r\n}\r\nexport const WiDayStormShowers = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.49,16.88c0,1.12,0.33,2.12,1,3s1.53,1.47,2.58,1.76l-0.66,1.7c-0.05,0.14,0,0.22,0.14,0.22h2.13l-1.43,4.21h0.29l4.36-5.66c0.04-0.04,0.04-0.09,0.02-0.14C9.9,21.92,9.85,21.9,9.78,21.9H7.59l2.49-4.65c0.07-0.14,0.03-0.22-0.14-0.22H6.98c-0.09,0-0.17,0.05-0.23,0.15l-1.07,2.88C4.96,19.88,4.36,19.5,3.9,18.9c-0.47-0.59-0.7-1.26-0.7-2.02c0-0.84,0.28-1.57,0.84-2.18c0.56-0.61,1.27-0.97,2.11-1.07l0.51-0.03c0.12,0,0.19-0.05,0.22-0.14l0.07-0.59c0.11-1.08,0.56-1.99,1.37-2.72s1.76-1.1,2.86-1.1c1.09,0,2.04,0.37,2.86,1.1s1.29,1.64,1.4,2.72l0.08,0.59c0,0.11,0.06,0.17,0.18,0.17h1.61c0.89,0,1.66,0.32,2.31,0.96s0.97,1.4,0.97,2.29c0,0.87-0.3,1.62-0.9,2.26s-1.32,0.98-2.18,1.03c-0.13,0-0.2,0.06-0.2,0.18v1.34c0,0.11,0.07,0.17,0.2,0.17c0.88-0.02,1.69-0.26,2.42-0.72c0.73-0.45,1.31-1.06,1.74-1.81s0.64-1.57,0.64-2.45c0-0.73-0.14-1.4-0.43-2.02c0.76-0.96,1.14-2.06,1.14-3.29c0-0.95-0.24-1.83-0.71-2.64c-0.47-0.81-1.11-1.45-1.92-1.92c-0.81-0.47-1.69-0.71-2.64-0.71c-0.72,0-1.42,0.15-2.1,0.45c-0.68,0.3-1.26,0.72-1.76,1.25c-0.81-0.43-1.71-0.65-2.72-0.65c-1.42,0-2.68,0.44-3.77,1.32s-1.8,2-2.1,3.37c-1.11,0.26-2.02,0.84-2.74,1.74C1.85,14.7,1.49,15.73,1.49,16.88zM9.67,26.8c0,0.15,0.05,0.31,0.16,0.47c0.11,0.16,0.26,0.27,0.46,0.34c0.11,0.03,0.2,0.04,0.25,0.04c0.15,0,0.28-0.03,0.38-0.08c0.21-0.08,0.36-0.27,0.43-0.57l0.27-1.03c0.06-0.25,0.03-0.47-0.08-0.67s-0.3-0.32-0.53-0.37c-0.21-0.07-0.41-0.04-0.62,0.07c-0.21,0.12-0.35,0.29-0.42,0.52l-0.25,1.04C9.69,26.7,9.67,26.78,9.67,26.8zM9.9,4.59c0,0.23,0.08,0.43,0.25,0.6l0.65,0.66c0.16,0.16,0.34,0.24,0.55,0.26c0.21,0.03,0.41-0.04,0.61-0.23c0.2-0.18,0.3-0.39,0.3-0.64c0-0.23-0.08-0.43-0.25-0.6l-0.63-0.66c-0.16-0.16-0.36-0.24-0.6-0.24c-0.25,0-0.46,0.08-0.63,0.24C9.99,4.16,9.9,4.36,9.9,4.59zM11.01,22c-0.01,0.16,0.04,0.32,0.14,0.47c0.1,0.15,0.26,0.26,0.48,0.32c0.21,0.07,0.42,0.05,0.62-0.06c0.2-0.11,0.34-0.3,0.42-0.56l0.3-1.03c0.07-0.22,0.04-0.43-0.08-0.63s-0.3-0.34-0.54-0.41c-0.23-0.07-0.44-0.05-0.64,0.07c-0.2,0.12-0.34,0.29-0.41,0.53l-0.24,1.05C11.03,21.9,11.01,21.98,11.01,22zM13.84,23.68c0,0.14,0.03,0.28,0.1,0.39c0.13,0.21,0.31,0.36,0.54,0.43c0.11,0.04,0.21,0.06,0.28,0.06c0.13,0,0.23-0.02,0.31-0.08c0.2-0.07,0.35-0.27,0.45-0.6l0.25-1.01c0.07-0.24,0.05-0.45-0.07-0.65c-0.11-0.2-0.28-0.33-0.51-0.39c-0.23-0.07-0.45-0.05-0.65,0.07c-0.2,0.11-0.34,0.28-0.41,0.51l-0.28,1.04C13.85,23.53,13.84,23.61,13.84,23.68zM15.21,18.86c0,0.18,0.05,0.34,0.16,0.5c0.11,0.16,0.27,0.27,0.49,0.33c0.17,0.06,0.37,0.04,0.61-0.05c0.2-0.09,0.34-0.28,0.43-0.57l0.27-1c0.06-0.25,0.04-0.47-0.08-0.67s-0.29-0.32-0.53-0.37c-0.23-0.07-0.44-0.05-0.64,0.06c-0.2,0.11-0.33,0.28-0.4,0.5l-0.29,1.06C15.22,18.79,15.21,18.86,15.21,18.86zM15.31,9.02c0.67-0.64,1.48-0.97,2.45-0.97c0.98,0,1.82,0.34,2.51,1.03c0.69,0.68,1.04,1.52,1.04,2.5c0,0.66-0.16,1.26-0.47,1.81c-0.96-0.96-2.13-1.44-3.52-1.44h-0.31C16.72,10.76,16.15,9.78,15.31,9.02zM16.91,3.75c0,0.24,0.08,0.44,0.25,0.61s0.37,0.25,0.6,0.25c0.24,0,0.44-0.08,0.6-0.25c0.16-0.17,0.24-0.37,0.24-0.61V1.69c0-0.24-0.08-0.45-0.24-0.61C18.2,0.91,18,0.82,17.76,0.82c-0.24,0-0.44,0.08-0.6,0.25s-0.25,0.37-0.25,0.61V3.75zM22.49,6.04c0,0.24,0.08,0.44,0.23,0.6c0.14,0.16,0.32,0.24,0.55,0.26c0.23,0.02,0.44-0.07,0.63-0.26l1.44-1.44c0.18-0.16,0.26-0.36,0.26-0.6s-0.09-0.44-0.26-0.6c-0.16-0.18-0.36-0.26-0.6-0.26c-0.23,0-0.42,0.09-0.58,0.26l-1.44,1.44C22.56,5.59,22.49,5.79,22.49,6.04zM23.26,17.95c0,0.23,0.08,0.43,0.25,0.6l0.65,0.63c0.18,0.17,0.39,0.25,0.62,0.25l0.02,0.02c0.22,0,0.4-0.09,0.54-0.27c0.18-0.16,0.26-0.36,0.26-0.6c0-0.23-0.09-0.43-0.26-0.61l-0.62-0.62c-0.18-0.18-0.38-0.27-0.61-0.27c-0.24,0-0.44,0.09-0.6,0.26C23.35,17.51,23.26,17.72,23.26,17.95zM24.73,11.58c0,0.24,0.09,0.44,0.26,0.59c0.16,0.18,0.36,0.26,0.6,0.26h2.06c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.25-0.37,0.25-0.6s-0.08-0.44-0.25-0.6c-0.17-0.16-0.37-0.24-0.61-0.24h-2.06c-0.24,0-0.45,0.08-0.61,0.24C24.81,11.14,24.73,11.34,24.73,11.58z\"}}]})(props);\r\n}\r\nexport const WiDaySunnyOvercast = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.09,13.43c0,0.27,0.09,0.49,0.28,0.67s0.43,0.26,0.72,0.26h1.69c0.27,0,0.5-0.09,0.69-0.27s0.29-0.4,0.29-0.66c0-0.29-0.09-0.53-0.28-0.71s-0.42-0.28-0.69-0.28H4.09c-0.29,0-0.53,0.09-0.72,0.28C3.18,12.89,3.09,13.13,3.09,13.43zM4.86,19.61c0,0.97,0.35,1.81,1.06,2.52c0.71,0.71,1.54,1.06,2.51,1.06h6.86c0.97,0,1.8-0.35,2.49-1.05c0.69-0.7,1.04-1.54,1.04-2.53c0-0.48-0.07-0.89-0.21-1.23c0.83-0.53,1.49-1.24,1.97-2.12c0.48-0.88,0.73-1.83,0.73-2.84c0-0.81-0.16-1.59-0.48-2.33c-0.32-0.74-0.75-1.38-1.28-1.91c-0.53-0.53-1.17-0.96-1.91-1.28c-0.74-0.32-1.51-0.48-2.32-0.48c-1.09,0-2.1,0.27-3.02,0.81s-1.65,1.27-2.18,2.18c-0.53,0.92-0.79,1.92-0.79,3.01v0.34c-1,0.57-1.66,1.4-1.98,2.49c-0.76,0.24-1.36,0.66-1.81,1.27C5.09,18.13,4.86,18.83,4.86,19.61zM6.42,5.45c0,0.28,0.09,0.51,0.26,0.67l1.61,1.69c0.47,0.36,0.94,0.36,1.41,0c0.19-0.19,0.28-0.42,0.28-0.7c0-0.27-0.09-0.5-0.28-0.7L8.05,4.76C7.84,4.57,7.6,4.47,7.35,4.47c-0.28,0-0.51,0.09-0.68,0.28C6.5,4.94,6.42,5.17,6.42,5.45zM6.84,19.61c0-0.42,0.13-0.78,0.4-1.08c0.27-0.3,0.61-0.47,1.02-0.51l0.62-0.08c0.13,0,0.2-0.08,0.2-0.23l0.09-0.56c0.07-0.58,0.31-1.06,0.73-1.44c0.42-0.39,0.91-0.58,1.48-0.58c0.58,0,1.09,0.19,1.51,0.58c0.43,0.39,0.68,0.87,0.75,1.44l0.08,0.65c0.06,0.15,0.14,0.23,0.24,0.23h1.32c0.43,0,0.8,0.16,1.12,0.47c0.32,0.31,0.47,0.68,0.47,1.12c0,0.45-0.16,0.83-0.47,1.15s-0.69,0.48-1.12,0.48H8.43c-0.45,0-0.83-0.16-1.13-0.48C6.99,20.45,6.84,20.06,6.84,19.61zM11.26,13.22c0.07-1.09,0.49-2.01,1.27-2.76c0.77-0.74,1.71-1.12,2.79-1.12c1.11,0,2.06,0.4,2.84,1.19c0.78,0.79,1.17,1.76,1.17,2.89c0,0.7-0.17,1.35-0.51,1.95c-0.34,0.6-0.8,1.08-1.38,1.45c-0.59-0.49-1.27-0.73-2.03-0.73c-0.29-0.88-0.81-1.57-1.54-2.09c-0.73-0.52-1.56-0.78-2.48-0.78H11.26zM14.35,4.47c0,0.27,0.1,0.51,0.29,0.7c0.19,0.19,0.42,0.29,0.69,0.29c0.28,0,0.51-0.1,0.7-0.29c0.19-0.19,0.29-0.42,0.29-0.7V2.13c0-0.26-0.1-0.48-0.29-0.66c-0.19-0.18-0.42-0.27-0.7-0.27c-0.27,0-0.5,0.09-0.69,0.27c-0.19,0.18-0.29,0.4-0.29,0.66V4.47zM20.67,19.7c0,0.27,0.09,0.5,0.27,0.7l1.64,1.62c0.42,0.42,0.89,0.42,1.41,0c0.18-0.17,0.26-0.39,0.26-0.68c0-0.27-0.09-0.49-0.26-0.67L22.3,19c-0.18-0.17-0.41-0.25-0.68-0.25c-0.28,0-0.5,0.09-0.68,0.27C20.76,19.2,20.67,19.43,20.67,19.7zM20.67,7.09c0,0.28,0.09,0.52,0.27,0.72c0.18,0.18,0.41,0.27,0.68,0.27c0.27,0,0.5-0.09,0.68-0.27l1.69-1.69c0.18-0.17,0.26-0.39,0.26-0.67c0-0.28-0.1-0.51-0.29-0.69s-0.42-0.28-0.7-0.28c-0.26,0-0.49,0.1-0.68,0.29L20.94,6.4C20.76,6.58,20.67,6.81,20.67,7.09zM23.25,13.43c0,0.27,0.09,0.49,0.28,0.67s0.43,0.26,0.72,0.26h1.69c0.27,0,0.5-0.09,0.69-0.27s0.29-0.4,0.29-0.66c0-0.29-0.09-0.53-0.28-0.71s-0.42-0.28-0.69-0.28h-1.69c-0.29,0-0.53,0.09-0.72,0.28C23.35,12.89,23.25,13.13,23.25,13.43z\"}}]})(props);\r\n}\r\nexport const WiDaySunny = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.37,14.62c0-0.24,0.08-0.45,0.25-0.62c0.17-0.16,0.38-0.24,0.6-0.24h2.04c0.23,0,0.42,0.08,0.58,0.25c0.15,0.17,0.23,0.37,0.23,0.61S8,15.06,7.85,15.23c-0.15,0.17-0.35,0.25-0.58,0.25H5.23c-0.23,0-0.43-0.08-0.6-0.25C4.46,15.06,4.37,14.86,4.37,14.62zM7.23,21.55c0-0.23,0.08-0.43,0.23-0.61l1.47-1.43c0.15-0.16,0.35-0.23,0.59-0.23c0.24,0,0.44,0.08,0.6,0.23s0.24,0.34,0.24,0.57c0,0.24-0.08,0.46-0.24,0.64L8.7,22.14c-0.41,0.32-0.82,0.32-1.23,0C7.31,21.98,7.23,21.78,7.23,21.55zM7.23,7.71c0-0.23,0.08-0.43,0.23-0.61C7.66,6.93,7.87,6.85,8.1,6.85c0.22,0,0.42,0.08,0.59,0.24l1.43,1.47c0.16,0.15,0.24,0.35,0.24,0.59c0,0.24-0.08,0.44-0.24,0.6s-0.36,0.24-0.6,0.24c-0.24,0-0.44-0.08-0.59-0.24L7.47,8.32C7.31,8.16,7.23,7.95,7.23,7.71zM9.78,14.62c0-0.93,0.23-1.8,0.7-2.6s1.1-1.44,1.91-1.91s1.67-0.7,2.6-0.7c0.7,0,1.37,0.14,2.02,0.42c0.64,0.28,1.2,0.65,1.66,1.12c0.47,0.47,0.84,1.02,1.11,1.66c0.27,0.64,0.41,1.32,0.41,2.02c0,0.94-0.23,1.81-0.7,2.61c-0.47,0.8-1.1,1.43-1.9,1.9c-0.8,0.47-1.67,0.7-2.61,0.7s-1.81-0.23-2.61-0.7c-0.8-0.47-1.43-1.1-1.9-1.9C10.02,16.43,9.78,15.56,9.78,14.62zM11.48,14.62c0,0.98,0.34,1.81,1.03,2.5c0.68,0.69,1.51,1.04,2.49,1.04s1.81-0.35,2.5-1.04s1.04-1.52,1.04-2.5c0-0.96-0.35-1.78-1.04-2.47c-0.69-0.68-1.52-1.02-2.5-1.02c-0.97,0-1.8,0.34-2.48,1.02C11.82,12.84,11.48,13.66,11.48,14.62zM14.14,22.4c0-0.24,0.08-0.44,0.25-0.6s0.37-0.24,0.6-0.24c0.24,0,0.45,0.08,0.61,0.24s0.24,0.36,0.24,0.6v1.99c0,0.24-0.08,0.45-0.25,0.62c-0.17,0.17-0.37,0.25-0.6,0.25s-0.44-0.08-0.6-0.25c-0.17-0.17-0.25-0.38-0.25-0.62V22.4zM14.14,6.9V4.86c0-0.23,0.08-0.43,0.25-0.6C14.56,4.09,14.76,4,15,4s0.43,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6V6.9c0,0.23-0.08,0.42-0.25,0.58S15.23,7.71,15,7.71s-0.44-0.08-0.6-0.23S14.14,7.13,14.14,6.9zM19.66,20.08c0-0.23,0.08-0.42,0.23-0.56c0.15-0.16,0.34-0.23,0.56-0.23c0.24,0,0.44,0.08,0.6,0.23l1.46,1.43c0.16,0.17,0.24,0.38,0.24,0.61c0,0.23-0.08,0.43-0.24,0.59c-0.4,0.31-0.8,0.31-1.2,0l-1.42-1.42C19.74,20.55,19.66,20.34,19.66,20.08zM19.66,9.16c0-0.25,0.08-0.45,0.23-0.59l1.42-1.47c0.17-0.16,0.37-0.24,0.59-0.24c0.24,0,0.44,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6c0,0.25-0.08,0.46-0.24,0.62l-1.46,1.43c-0.18,0.16-0.38,0.24-0.6,0.24c-0.23,0-0.41-0.08-0.56-0.24S19.66,9.4,19.66,9.16zM21.92,14.62c0-0.24,0.08-0.44,0.24-0.62c0.16-0.16,0.35-0.24,0.57-0.24h2.02c0.23,0,0.43,0.09,0.6,0.26c0.17,0.17,0.26,0.37,0.26,0.6s-0.09,0.43-0.26,0.6c-0.17,0.17-0.37,0.25-0.6,0.25h-2.02c-0.23,0-0.43-0.08-0.58-0.25S21.92,14.86,21.92,14.62z\"}}]})(props);\r\n}\r\nexport const WiDayThunderstorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.52,16.9c0,1.11,0.33,2.09,0.98,2.96s1.51,1.46,2.57,1.78l-0.64,1.7c-0.04,0.14,0,0.21,0.14,0.21H6.7L5.45,27.5h0.29l4.17-5.39c0.04-0.04,0.04-0.09,0.01-0.14C9.9,21.92,9.85,21.9,9.78,21.9H7.61l2.47-4.63c0.07-0.14,0.02-0.22-0.14-0.22H7c-0.09,0-0.17,0.05-0.23,0.14L5.7,20.07c-0.71-0.18-1.3-0.57-1.77-1.16c-0.47-0.59-0.7-1.26-0.7-2.01c0-0.83,0.28-1.55,0.85-2.17s1.27-0.97,2.1-1.07L6.7,13.6c0.13,0,0.2-0.06,0.2-0.18l0.06-0.51c0.11-1.08,0.57-1.99,1.38-2.72c0.81-0.73,1.77-1.1,2.86-1.1c1.09,0,2.04,0.37,2.85,1.1s1.28,1.64,1.4,2.72l0.06,0.58c0,0.11,0.06,0.17,0.18,0.17h1.61c0.91,0,1.68,0.32,2.32,0.95c0.64,0.63,0.96,1.39,0.96,2.29c0,0.85-0.3,1.59-0.89,2.21c-0.59,0.62-1.32,0.97-2.19,1.04c-0.13,0-0.2,0.06-0.2,0.18v1.37c0,0.11,0.07,0.17,0.2,0.17c1.33-0.04,2.46-0.55,3.39-1.51c0.93-0.96,1.39-2.11,1.39-3.45c0-0.74-0.14-1.41-0.43-2.01c0.79-0.96,1.18-2.06,1.18-3.32c0-0.94-0.24-1.81-0.71-2.62c-0.47-0.81-1.11-1.45-1.92-1.92c-0.81-0.47-1.68-0.71-2.62-0.71c-1.54,0-2.84,0.58-3.88,1.73c-0.81-0.43-1.71-0.65-2.7-0.65c-1.41,0-2.67,0.44-3.76,1.31s-1.79,1.99-2.1,3.36c-1.11,0.26-2.02,0.83-2.73,1.73S1.52,15.75,1.52,16.9zM9.61,26.48c-0.01,0.15,0.03,0.3,0.14,0.44s0.26,0.25,0.46,0.33c0.07,0.02,0.14,0.03,0.21,0.03c0.17,0,0.34-0.05,0.51-0.15s0.28-0.26,0.34-0.47l2.29-8.57c0.06-0.23,0.04-0.45-0.07-0.64c-0.11-0.2-0.27-0.33-0.49-0.4c-0.23-0.07-0.45-0.05-0.65,0.07c-0.2,0.11-0.34,0.28-0.4,0.51l-2.31,8.6C9.62,26.3,9.61,26.39,9.61,26.48zM9.94,4.63c0,0.24,0.08,0.43,0.25,0.59l0.64,0.66C11,6.05,11.2,6.13,11.44,6.14c0.24,0,0.43-0.08,0.57-0.26c0.19-0.15,0.28-0.35,0.28-0.6c0-0.24-0.08-0.43-0.25-0.59l-0.63-0.66c-0.17-0.16-0.38-0.24-0.61-0.24c-0.25,0-0.46,0.08-0.62,0.24C10.02,4.19,9.94,4.39,9.94,4.63zM13.77,23.43c0,0.12,0.04,0.24,0.11,0.38c0.13,0.2,0.29,0.34,0.5,0.43c0.07,0.03,0.17,0.05,0.3,0.05c0.15,0,0.26-0.02,0.33-0.06c0.2-0.08,0.34-0.28,0.41-0.58l1.49-5.55c0.06-0.24,0.04-0.45-0.07-0.65c-0.11-0.19-0.28-0.32-0.51-0.39c-0.23-0.07-0.45-0.05-0.64,0.07c-0.2,0.11-0.33,0.28-0.39,0.51L13.8,23.2c0,0.02-0.01,0.06-0.02,0.11C13.77,23.37,13.77,23.4,13.77,23.43zM15.3,9.04c0.67-0.64,1.49-0.97,2.48-0.97c0.97,0,1.81,0.34,2.5,1.02c0.69,0.68,1.04,1.51,1.04,2.48c0,0.62-0.17,1.24-0.52,1.85c-0.99-0.98-2.16-1.47-3.5-1.47h-0.31C16.68,10.78,16.11,9.81,15.3,9.04zM16.91,3.79c0,0.23,0.09,0.43,0.26,0.6s0.37,0.26,0.6,0.26c0.24,0,0.43-0.08,0.59-0.25c0.16-0.17,0.23-0.37,0.23-0.61V1.73c0-0.24-0.08-0.44-0.23-0.61s-0.35-0.25-0.59-0.25c-0.23,0-0.43,0.08-0.6,0.25s-0.26,0.37-0.26,0.61V3.79zM22.44,6.07c0,0.24,0.09,0.44,0.26,0.6c0.14,0.17,0.33,0.25,0.57,0.25s0.44-0.08,0.6-0.25l1.44-1.45c0.17-0.16,0.26-0.35,0.26-0.59c0-0.24-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.25-0.61-0.25c-0.22,0-0.41,0.09-0.57,0.26L22.7,5.47C22.53,5.63,22.44,5.83,22.44,6.07zM23.25,17.93c0,0.22,0.08,0.42,0.24,0.6l0.66,0.63c0.12,0.14,0.31,0.23,0.54,0.24l0.01,0.01c0.01,0,0.03,0,0.05,0c0.02,0,0.03,0,0.05,0c0.19,0,0.36-0.09,0.53-0.26c0.17-0.16,0.26-0.36,0.26-0.6c0-0.23-0.09-0.43-0.26-0.61l-0.65-0.61c-0.16-0.18-0.36-0.27-0.58-0.27c-0.23,0-0.43,0.08-0.6,0.25C23.33,17.49,23.25,17.7,23.25,17.93zM24.7,11.58c0,0.23,0.09,0.43,0.27,0.6c0.18,0.18,0.38,0.27,0.61,0.27h2.03c0.23,0,0.43-0.09,0.6-0.26s0.26-0.38,0.26-0.61c0-0.23-0.08-0.43-0.25-0.59c-0.17-0.16-0.37-0.24-0.61-0.24h-2.03c-0.25,0-0.46,0.08-0.63,0.24C24.78,11.15,24.7,11.35,24.7,11.58z\"}}]})(props);\r\n}\r\nexport const WiDayWindy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.48,21.1c0,0.24,0.09,0.44,0.27,0.6c0.17,0.17,0.37,0.25,0.61,0.25h5.88c0.26,0,0.48,0.09,0.68,0.28c0.2,0.19,0.3,0.42,0.3,0.68s-0.1,0.5-0.3,0.69c-0.2,0.19-0.42,0.29-0.68,0.29c-0.26,0-0.48-0.1-0.68-0.3c-0.18-0.16-0.38-0.24-0.61-0.24c-0.24,0-0.44,0.08-0.6,0.24c-0.16,0.16-0.24,0.36-0.24,0.6c0,0.24,0.08,0.44,0.24,0.6c0.53,0.53,1.16,0.8,1.89,0.8c0.74,0,1.37-0.26,1.88-0.78s0.78-1.15,0.78-1.89s-0.26-1.37-0.78-1.89c-0.52-0.52-1.15-0.78-1.88-0.78H2.36c-0.24,0-0.44,0.08-0.62,0.25C1.57,20.67,1.48,20.87,1.48,21.1zM1.48,18.09c0,0.23,0.09,0.42,0.27,0.58c0.16,0.16,0.37,0.24,0.61,0.24h10.97c0.74,0,1.37-0.26,1.89-0.78c0.52-0.52,0.78-1.15,0.78-1.89c0-0.74-0.26-1.36-0.78-1.88c-0.52-0.51-1.15-0.77-1.89-0.77c-0.76,0-1.38,0.25-1.88,0.76c-0.16,0.16-0.23,0.37-0.23,0.61c0,0.24,0.08,0.44,0.23,0.6c0.15,0.15,0.35,0.23,0.6,0.23c0.24,0,0.44-0.08,0.62-0.23c0.19-0.19,0.41-0.28,0.68-0.28s0.49,0.09,0.68,0.28s0.29,0.42,0.29,0.68c0,0.27-0.1,0.5-0.29,0.69c-0.19,0.19-0.42,0.29-0.68,0.29H2.36c-0.24,0-0.44,0.09-0.62,0.26C1.57,17.66,1.48,17.86,1.48,18.09zM7.27,11.55c0-0.24,0.09-0.44,0.26-0.62c0.18-0.16,0.38-0.24,0.6-0.24h2.03c0.23,0,0.42,0.08,0.58,0.25c0.16,0.17,0.23,0.37,0.23,0.61c0,0.24-0.08,0.44-0.23,0.6c-0.16,0.17-0.35,0.25-0.58,0.25H8.13c-0.24,0-0.44-0.08-0.61-0.25C7.35,11.98,7.27,11.78,7.27,11.55zM10.12,4.63c0-0.23,0.08-0.43,0.23-0.61c0.19-0.16,0.41-0.24,0.64-0.24c0.22,0,0.42,0.08,0.59,0.24l1.43,1.47c0.16,0.15,0.24,0.35,0.24,0.59c0,0.24-0.08,0.44-0.24,0.6s-0.36,0.24-0.59,0.24c-0.24,0-0.44-0.08-0.59-0.24l-1.47-1.43C10.2,5.08,10.12,4.88,10.12,4.63zM12.68,11.43v-0.07c0.02-0.91,0.27-1.75,0.74-2.53c0.48-0.77,1.11-1.38,1.9-1.83c0.79-0.45,1.65-0.67,2.57-0.67c0.7,0,1.37,0.14,2.02,0.42c0.64,0.28,1.2,0.65,1.66,1.12c0.47,0.47,0.84,1.02,1.11,1.66s0.41,1.32,0.41,2.02c0,0.94-0.23,1.8-0.69,2.6s-1.09,1.43-1.88,1.89c-0.79,0.47-1.66,0.7-2.6,0.71h-0.21c-0.07,0-0.13-0.02-0.17-0.07c-0.05-0.05-0.07-0.11-0.07-0.18v-1.22c0-0.13,0.07-0.2,0.22-0.2h0.24c0.96-0.01,1.79-0.35,2.47-1.05c0.68-0.69,1.03-1.52,1.03-2.49c0-0.96-0.35-1.78-1.04-2.47c-0.69-0.68-1.52-1.02-2.5-1.02c-0.94,0-1.76,0.32-2.44,0.98c-0.68,0.65-1.04,1.44-1.08,2.37c0,0.06-0.03,0.11-0.08,0.17s-0.14,0.09-0.26,0.09H12.9C12.75,11.67,12.68,11.59,12.68,11.43zM17.03,21.31v-1.99c0-0.24,0.08-0.44,0.25-0.6s0.37-0.24,0.6-0.24c0.25,0,0.45,0.08,0.61,0.24c0.16,0.16,0.24,0.36,0.24,0.6v1.99c0,0.24-0.08,0.45-0.25,0.62c-0.17,0.17-0.37,0.25-0.6,0.25c-0.24,0-0.44-0.08-0.6-0.25C17.12,21.76,17.03,21.55,17.03,21.31zM17.03,3.83V1.78c0-0.23,0.08-0.43,0.25-0.6s0.37-0.25,0.6-0.25c0.24,0,0.44,0.08,0.6,0.25s0.25,0.37,0.25,0.6v2.04c0,0.23-0.08,0.42-0.25,0.58c-0.17,0.15-0.37,0.23-0.6,0.23c-0.24,0-0.44-0.08-0.6-0.23C17.12,4.25,17.03,4.06,17.03,3.83zM22.56,17.01c0-0.23,0.08-0.42,0.23-0.56c0.15-0.16,0.34-0.23,0.57-0.23c0.24,0,0.44,0.08,0.6,0.23l1.45,1.42c0.16,0.17,0.24,0.38,0.24,0.61c0,0.23-0.08,0.43-0.24,0.59c-0.4,0.31-0.8,0.31-1.2,0l-1.42-1.43C22.63,17.48,22.56,17.26,22.56,17.01zM22.56,6.08c0-0.25,0.08-0.45,0.23-0.59l1.42-1.47c0.18-0.16,0.37-0.24,0.59-0.24c0.23,0,0.43,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6c0,0.25-0.08,0.46-0.24,0.62l-1.45,1.43c-0.18,0.16-0.38,0.24-0.6,0.24c-0.23,0-0.41-0.08-0.57-0.24C22.63,6.52,22.56,6.32,22.56,6.08zM24.82,11.55c0-0.24,0.08-0.44,0.24-0.62c0.16-0.16,0.35-0.24,0.57-0.24h2.02c0.23,0,0.43,0.09,0.61,0.26s0.26,0.37,0.26,0.6c0,0.23-0.09,0.43-0.26,0.6c-0.18,0.17-0.38,0.25-0.61,0.25h-2.02c-0.23,0-0.42-0.08-0.58-0.25C24.89,11.99,24.82,11.79,24.82,11.55z\"}}]})(props);\r\n}\r\nexport const WiDegrees = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.19,9.21c0-0.5,0.18-0.93,0.53-1.28c0.36-0.36,0.78-0.53,1.28-0.53c0.49,0,0.92,0.18,1.27,0.53c0.35,0.36,0.53,0.78,0.53,1.28s-0.18,0.93-0.53,1.29c-0.35,0.36-0.78,0.54-1.27,0.54c-0.49,0-0.92-0.18-1.28-0.54S13.19,9.71,13.19,9.21zM14.07,9.21c0,0.26,0.09,0.48,0.27,0.67c0.19,0.19,0.41,0.28,0.67,0.28c0.26,0,0.48-0.09,0.67-0.28s0.28-0.41,0.28-0.67c0-0.26-0.09-0.48-0.28-0.66c-0.19-0.18-0.41-0.28-0.67-0.28c-0.26,0-0.48,0.09-0.67,0.27C14.16,8.72,14.07,8.94,14.07,9.21z\"}}]})(props);\r\n}\r\nexport const WiDirectionDownLeft = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.83,16.77c0,0.19,0.06,0.35,0.19,0.48c0.13,0.13,0.29,0.19,0.47,0.19h2.87c0.19,0,0.35-0.06,0.47-0.19c0.13-0.13,0.19-0.29,0.19-0.48c0-0.19-0.06-0.34-0.19-0.46c-0.13-0.12-0.29-0.18-0.47-0.18h-1.24L18,12.24c0.12-0.14,0.18-0.3,0.18-0.5c0-0.18-0.06-0.33-0.18-0.46c-0.12-0.12-0.29-0.18-0.5-0.18c-0.2,0-0.36,0.06-0.48,0.18l-3.86,3.87v-1.25c0-0.19-0.06-0.35-0.19-0.48c-0.13-0.13-0.29-0.19-0.48-0.19c-0.19,0-0.35,0.07-0.47,0.2c-0.13,0.13-0.19,0.29-0.19,0.48V16.77z\"}}]})(props);\r\n}\r\nexport const WiDirectionDownRight = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.04,10.08c0-0.3,0.09-0.55,0.26-0.73c0.2-0.19,0.46-0.28,0.79-0.28c0.3,0,0.55,0.09,0.73,0.28l6.05,6.05v-1.95c0-0.3,0.1-0.55,0.3-0.75s0.45-0.3,0.75-0.3c0.29,0,0.54,0.1,0.74,0.31s0.3,0.45,0.3,0.75v4.48c0,0.3-0.1,0.55-0.3,0.75s-0.45,0.3-0.74,0.3h-4.48c-0.29,0-0.54-0.1-0.74-0.3s-0.3-0.45-0.3-0.75c0-0.29,0.1-0.54,0.3-0.73s0.45-0.29,0.74-0.29h1.93l-6.08-6.06C10.13,10.63,10.04,10.38,10.04,10.08z\"}}]})(props);\r\n}\r\nexport const WiDirectionDown = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.77,16.47c0,0.22,0.08,0.4,0.25,0.55l2.4,2.45c0.16,0.16,0.35,0.23,0.58,0.23c0.24,0,0.43-0.08,0.59-0.23l2.4-2.45c0.16-0.14,0.24-0.33,0.24-0.55c0-0.22-0.08-0.41-0.23-0.57s-0.34-0.23-0.56-0.23s-0.42,0.08-0.57,0.23l-1.06,1.05v-6.59c0-0.22-0.08-0.41-0.24-0.56C15.42,9.66,15.23,9.58,15,9.58s-0.42,0.07-0.58,0.22c-0.16,0.15-0.24,0.34-0.24,0.56v6.59l-1.06-1.05c-0.16-0.16-0.34-0.23-0.55-0.23c-0.22,0-0.42,0.08-0.57,0.23S11.77,16.25,11.77,16.47z\"}}]})(props);\r\n}\r\nexport const WiDirectionLeft = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.09,14.96c0,0.37,0.12,0.68,0.37,0.92l3.84,3.75c0.22,0.25,0.51,0.38,0.85,0.38c0.35,0,0.65-0.12,0.89-0.35s0.37-0.53,0.37-0.88s-0.12-0.65-0.37-0.89l-1.64-1.64h10.3c0.35,0,0.64-0.12,0.87-0.37s0.34-0.55,0.34-0.9s-0.11-0.65-0.34-0.9s-0.52-0.38-0.87-0.39H11.4l1.64-1.66c0.24-0.24,0.37-0.53,0.37-0.86c0-0.35-0.12-0.65-0.37-0.89S12.5,9.9,12.14,9.9c-0.32,0-0.61,0.14-0.85,0.41l-3.84,3.75C7.21,14.31,7.09,14.6,7.09,14.96z\"}}]})(props);\r\n}\r\nexport const WiDirectionRight = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.94,14.36c0,0.22,0.08,0.42,0.23,0.57s0.34,0.22,0.56,0.2h6.58l-1.03,1.08c-0.16,0.16-0.24,0.35-0.24,0.55c0,0.22,0.08,0.42,0.24,0.57c0.16,0.16,0.35,0.23,0.58,0.23c0.21-0.01,0.39-0.1,0.53-0.27l2.45-2.41c0.16-0.16,0.23-0.35,0.23-0.58c-0.01-0.24-0.09-0.43-0.24-0.58l-2.47-2.39c-0.15-0.16-0.33-0.24-0.54-0.23c-0.23,0-0.42,0.07-0.57,0.22c-0.16,0.15-0.23,0.34-0.23,0.56c0,0.23,0.08,0.42,0.23,0.57l1.06,1.08h-6.59c-0.23,0.01-0.41,0.09-0.56,0.25C10.01,13.95,9.94,14.14,9.94,14.36z\"}}]})(props);\r\n}\r\nexport const WiDirectionUpLeft = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.03,14.31V9.84c0-0.3,0.1-0.55,0.3-0.75s0.45-0.3,0.74-0.3h4.48c0.29,0,0.54,0.1,0.74,0.3s0.3,0.45,0.3,0.75c0,0.29-0.1,0.53-0.3,0.73s-0.45,0.29-0.74,0.29h-1.95l6.06,6.06c0.18,0.21,0.26,0.46,0.26,0.78c0,0.29-0.09,0.53-0.26,0.72c-0.2,0.19-0.46,0.28-0.79,0.28c-0.3,0-0.55-0.09-0.73-0.28l-6.02-6.05v1.95c0,0.3-0.1,0.55-0.3,0.75c-0.2,0.2-0.45,0.3-0.75,0.3c-0.29,0-0.54-0.1-0.74-0.31S10.03,14.6,10.03,14.31z\"}}]})(props);\r\n}\r\nexport const WiDirectionUpRight = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.05,17.55c0,0.3,0.09,0.55,0.26,0.73c0.2,0.19,0.46,0.28,0.79,0.28c0.3,0,0.55-0.09,0.73-0.28l6.04-6.05v1.95c0,0.3,0.1,0.55,0.3,0.75c0.2,0.2,0.45,0.3,0.75,0.3c0.29,0,0.54-0.1,0.74-0.31s0.3-0.45,0.3-0.75V9.7c0-0.3-0.1-0.55-0.3-0.75s-0.45-0.3-0.74-0.3h-4.5c-0.29,0-0.54,0.1-0.73,0.3S13.4,9.39,13.4,9.7c0,0.29,0.1,0.54,0.29,0.73s0.44,0.29,0.73,0.29h1.95l-6.06,6.06C10.14,16.99,10.05,17.25,10.05,17.55z\"}}]})(props);\r\n}\r\nexport const WiDirectionUp = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.95,10.87c-0.01,0.35,0.1,0.65,0.34,0.9s0.53,0.37,0.89,0.36c0.34,0.02,0.63-0.1,0.88-0.37l1.66-1.64v10.3c-0.01,0.35,0.11,0.64,0.36,0.88s0.55,0.35,0.92,0.34c0.34,0.02,0.64-0.09,0.89-0.32s0.39-0.53,0.4-0.88v-10.3l1.64,1.64c0.23,0.24,0.53,0.37,0.88,0.37c0.36,0,0.66-0.12,0.9-0.36s0.36-0.53,0.36-0.89c-0.02-0.36-0.15-0.64-0.4-0.85l-3.74-3.84c-0.24-0.23-0.55-0.37-0.92-0.4c-0.37,0.02-0.68,0.16-0.92,0.41l-3.75,3.81C10.08,10.25,9.95,10.53,9.95,10.87z\"}}]})(props);\r\n}\r\nexport const WiDust = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.33,16.58c0-0.23,0.08-0.41,0.23-0.56c0.16-0.15,0.37-0.22,0.64-0.22h5.71c0.27,0,0.48,0.07,0.64,0.22c0.16,0.15,0.23,0.33,0.23,0.56c0,0.27-0.08,0.49-0.23,0.64s-0.37,0.23-0.64,0.23H8.2c-0.27,0-0.48-0.08-0.64-0.23S7.33,16.86,7.33,16.58zM7.33,10.67c0-0.22,0.08-0.41,0.23-0.55C7.72,9.97,7.93,9.9,8.2,9.9h2.96c0.27,0,0.48,0.07,0.64,0.22c0.16,0.14,0.24,0.33,0.24,0.55c0,0.27-0.08,0.48-0.24,0.64c-0.16,0.16-0.37,0.24-0.64,0.24H8.2c-0.27,0-0.48-0.08-0.64-0.23S7.33,10.94,7.33,10.67zM8.32,19.54c0-0.22,0.09-0.42,0.28-0.6c0.18-0.18,0.39-0.28,0.6-0.28c0.26,0,0.46,0.09,0.62,0.27s0.24,0.38,0.24,0.61c0,0.27-0.08,0.49-0.23,0.65c-0.15,0.16-0.36,0.23-0.63,0.23c-0.23,0-0.44-0.08-0.61-0.24C8.4,20.01,8.32,19.8,8.32,19.54zM9.74,13.61c0-0.23,0.07-0.44,0.22-0.61c0.15-0.18,0.33-0.27,0.54-0.27c0.26,0,0.48,0.09,0.64,0.27c0.16,0.18,0.24,0.38,0.24,0.61c0,0.27-0.08,0.49-0.23,0.65c-0.16,0.16-0.37,0.23-0.65,0.23c-0.23,0-0.41-0.08-0.55-0.24S9.74,13.88,9.74,13.61zM10.73,19.54c0-0.23,0.08-0.44,0.24-0.61s0.38-0.27,0.64-0.27h3.83l0.88,0.88c0,0.26-0.09,0.47-0.27,0.64s-0.38,0.24-0.61,0.24h-3.83c-0.27,0-0.49-0.08-0.65-0.24S10.73,19.81,10.73,19.54zM12.05,13.61c0-0.22,0.09-0.42,0.28-0.6c0.18-0.18,0.39-0.28,0.6-0.28h3.83c0.26,0,0.47,0.09,0.63,0.27c0.16,0.18,0.24,0.38,0.24,0.61c0,0.27-0.08,0.49-0.23,0.65c-0.16,0.16-0.37,0.23-0.64,0.23h-3.83c-0.23,0-0.44-0.08-0.61-0.24C12.14,14.09,12.05,13.88,12.05,13.61zM12.81,10.67c0-0.22,0.08-0.41,0.24-0.55c0.16-0.14,0.37-0.22,0.64-0.22h5.71c0.23,0,0.43,0.08,0.61,0.23c0.18,0.15,0.27,0.33,0.27,0.54c0,0.26-0.09,0.48-0.27,0.64c-0.18,0.16-0.38,0.24-0.61,0.24h-5.71c-0.27,0-0.49-0.08-0.65-0.24C12.88,11.15,12.81,10.94,12.81,10.67zM15.44,16.58c0-0.21,0.09-0.4,0.27-0.55c0.18-0.15,0.38-0.23,0.61-0.23s0.43,0.08,0.61,0.23c0.18,0.15,0.27,0.34,0.27,0.55c0,0.26-0.09,0.47-0.27,0.63c-0.18,0.16-0.38,0.24-0.61,0.24c-0.23,0-0.44-0.08-0.61-0.24C15.53,17.06,15.44,16.85,15.44,16.58zM16.98,19.54c0-0.23,0.08-0.44,0.24-0.61c0.16-0.18,0.37-0.27,0.63-0.27h1.87c0.26,0,0.47,0.09,0.63,0.26c0.16,0.17,0.24,0.38,0.24,0.62c0,0.27-0.08,0.49-0.23,0.65c-0.15,0.16-0.37,0.23-0.64,0.23h-1.87c-0.27,0-0.48-0.08-0.64-0.23C17.06,20.03,16.98,19.81,16.98,19.54zM17.85,16.58c0-0.21,0.09-0.4,0.27-0.55c0.18-0.15,0.38-0.23,0.61-0.23h3.07c0.22,0,0.4,0.08,0.54,0.23c0.14,0.15,0.22,0.33,0.22,0.55c0,0.27-0.07,0.48-0.21,0.64c-0.14,0.16-0.32,0.23-0.55,0.23h-3.07c-0.23,0-0.44-0.08-0.61-0.24C17.94,17.06,17.85,16.85,17.85,16.58zM18.29,13.61c0-0.22,0.09-0.42,0.28-0.6c0.18-0.18,0.39-0.28,0.6-0.28h1.96c0.21,0,0.39,0.09,0.54,0.27c0.15,0.18,0.23,0.38,0.23,0.61c0,0.27-0.07,0.48-0.22,0.64c-0.14,0.16-0.33,0.24-0.55,0.24h-1.96c-0.23,0-0.44-0.08-0.61-0.24C18.38,14.09,18.29,13.88,18.29,13.61zM21.03,10.67c0-0.22,0.07-0.4,0.22-0.55C21.4,9.97,21.58,9.9,21.8,9.9c0.27,0,0.48,0.07,0.64,0.22c0.16,0.14,0.24,0.33,0.24,0.55c0,0.27-0.08,0.48-0.24,0.64c-0.16,0.16-0.37,0.24-0.64,0.24c-0.23,0-0.41-0.08-0.55-0.24C21.1,11.15,21.03,10.94,21.03,10.67z\"}}]})(props);\r\n}\r\nexport const WiEarthquake = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.25,15.3c0,0.16,0.06,0.29,0.17,0.4c0.11,0.11,0.25,0.16,0.4,0.16H8.8c0.14,0,0.27-0.04,0.38-0.13c0.11-0.09,0.17-0.2,0.2-0.34l0.9-5.27l1.62,13.18c0.02,0.14,0.09,0.26,0.19,0.36c0.1,0.09,0.22,0.14,0.36,0.14c0.15,0,0.28-0.05,0.38-0.14s0.17-0.21,0.2-0.36l1.25-9.67l1.04,2.8c0.04,0.11,0.1,0.2,0.2,0.27s0.2,0.1,0.32,0.1h0.05c0.12-0.01,0.23-0.05,0.32-0.13c0.1-0.08,0.16-0.18,0.19-0.31l1.53-6.86l0.71,13.18c0.01,0.14,0.06,0.27,0.15,0.37c0.09,0.1,0.21,0.16,0.36,0.17c0.14,0.01,0.27-0.02,0.38-0.1c0.11-0.08,0.18-0.19,0.22-0.33l1.65-6.94h2.77c0.16,0,0.29-0.05,0.4-0.16c0.11-0.11,0.17-0.24,0.17-0.4c0-0.16-0.06-0.29-0.17-0.4c-0.11-0.11-0.25-0.17-0.4-0.17h-3.23c-0.13,0-0.25,0.04-0.35,0.12s-0.17,0.18-0.2,0.31l-0.83,3.54L18.84,5.33c-0.01-0.14-0.06-0.27-0.16-0.37c-0.1-0.1-0.22-0.16-0.36-0.16c-0.14-0.01-0.27,0.02-0.39,0.11s-0.19,0.2-0.22,0.34l-2,8.97l-1.16-3.16c-0.04-0.12-0.12-0.21-0.24-0.28s-0.24-0.1-0.36-0.08c-0.13,0.01-0.24,0.07-0.33,0.16c-0.09,0.09-0.15,0.21-0.17,0.34l-0.98,7.51L10.94,6.15c-0.03-0.14-0.09-0.26-0.19-0.35c-0.1-0.09-0.22-0.14-0.36-0.15c-0.14-0.01-0.27,0.03-0.38,0.12c-0.11,0.09-0.18,0.2-0.2,0.35l-1.48,8.61H5.82c-0.16,0-0.29,0.06-0.4,0.17C5.31,15.01,5.25,15.14,5.25,15.3z\"}}]})(props);\r\n}\r\nexport const WiFahrenheit = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.67,11.01c0-0.5,0.18-0.93,0.53-1.28s0.78-0.53,1.28-0.53c0.49,0,0.92,0.18,1.27,0.53c0.35,0.36,0.53,0.78,0.53,1.28c0,0.5-0.18,0.93-0.53,1.29c-0.35,0.36-0.78,0.54-1.27,0.54s-0.92-0.18-1.28-0.54C9.85,11.94,9.67,11.51,9.67,11.01zM10.55,11.01c0,0.26,0.09,0.48,0.27,0.67c0.19,0.19,0.41,0.28,0.67,0.28s0.48-0.09,0.67-0.28s0.28-0.41,0.28-0.67c0-0.26-0.09-0.48-0.28-0.66c-0.19-0.18-0.41-0.28-0.67-0.28c-0.26,0-0.48,0.09-0.67,0.27C10.64,10.52,10.55,10.74,10.55,11.01zM14.96,17.9c0,0.14,0.05,0.27,0.15,0.37s0.23,0.15,0.37,0.15c0.14,0,0.27-0.05,0.37-0.15c0.1-0.1,0.15-0.23,0.15-0.37v-3.79h2.86c0.14,0,0.27-0.05,0.37-0.16s0.15-0.23,0.15-0.38c0-0.15-0.05-0.27-0.15-0.38c-0.1-0.1-0.23-0.15-0.38-0.15h-2.86v-2.73h3.82c0.14,0,0.26-0.05,0.36-0.15s0.14-0.23,0.14-0.38s-0.05-0.27-0.14-0.38s-0.21-0.15-0.36-0.15h-4.77c-0.07,0-0.1,0.04-0.1,0.11V17.9z\"}}]})(props);\r\n}\r\nexport const WiFire = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.38,21.83c0-0.3,0.1-0.55,0.29-0.76c0.19-0.21,0.43-0.31,0.7-0.31v-0.02l13.16,0.04c0.06-0.01,0.1-0.02,0.1-0.02c0.27,0.01,0.51,0.12,0.7,0.33c0.19,0.21,0.29,0.47,0.28,0.77c0,0.3-0.1,0.55-0.29,0.76c-0.19,0.21-0.43,0.31-0.7,0.31v0.01L8.59,22.9c-0.1,0.01-0.17,0.02-0.22,0.02c-0.28-0.01-0.51-0.11-0.7-0.32C7.47,22.39,7.37,22.13,7.38,21.83zM8.2,16.37c-0.01-0.43,0.04-0.93,0.16-1.52c0.06-0.3,0.2-0.76,0.44-1.37c0.02-0.05,0.07-0.14,0.13-0.28c0.01,0.02,0.03,0.03,0.04,0.05s0.02,0.02,0.02,0.03c0.11,0.44,0.27,0.84,0.49,1.2c0.21,0.32,0.48,0.56,0.82,0.69c0.26,0.11,0.63,0.17,1.1,0.18c0.02,0,0.05,0,0.08,0c0.03,0,0.06,0,0.08,0c-0.33-0.33-0.59-0.67-0.79-1c-0.3-0.52-0.49-1.12-0.57-1.81c-0.06-0.54-0.03-1.19,0.09-1.96c0.02-0.15,0.12-0.49,0.29-1.01c0.15-0.47,0.36-0.9,0.64-1.28C11.54,7.8,12,7.3,12.61,6.78c0.37-0.31,0.89-0.67,1.56-1.07c0.07-0.04,0.18-0.11,0.35-0.19c0,0.02,0,0.04,0,0.05s0,0.03,0,0.04v0.02c-0.24,0.57-0.41,1.15-0.49,1.73c-0.06,0.53,0.02,1.02,0.24,1.48c0.17,0.36,0.48,0.75,0.92,1.15c0.09,0.09,0.29,0.29,0.6,0.58c0.3,0.29,0.54,0.52,0.7,0.68l0.25,0.25c0.26-0.38,0.41-0.83,0.44-1.35c0.04-0.55,0-1.15-0.14-1.8c0-0.01,0-0.04,0.01-0.11c0.02,0.02,0.13,0.1,0.3,0.24c0.56,0.5,0.98,0.95,1.28,1.34c0.48,0.62,0.83,1.21,1.06,1.74c0.19,0.46,0.31,0.92,0.38,1.4c0.06,0.42,0.08,0.77,0.07,1.05c-0.01,0.78-0.1,1.43-0.25,1.96c-0.07,0.21-0.13,0.38-0.19,0.52c0.25-0.07,0.47-0.16,0.65-0.26c0.25-0.16,0.45-0.37,0.6-0.66c0.16-0.29,0.29-0.62,0.38-0.98c0-0.01,0.01-0.03,0.03-0.05c0.01,0.02,0.02,0.05,0.05,0.09c0.02,0.04,0.04,0.07,0.05,0.1c0.13,0.31,0.22,0.63,0.27,0.97c0.08,0.38,0.1,0.75,0.08,1.13c-0.02,0.29-0.07,0.56-0.16,0.81c-0.08,0.24-0.16,0.43-0.22,0.58c-0.19,0.38-0.39,0.71-0.62,0.98c-0.06,0.07-0.11,0.13-0.14,0.16H9.67c-0.01-0.01-0.03-0.03-0.07-0.06s-0.06-0.05-0.08-0.07C9.26,18.98,8.98,18.6,8.7,18.1c-0.08-0.15-0.18-0.38-0.29-0.69C8.29,17.1,8.22,16.75,8.2,16.37z\"}}]})(props);\r\n}\r\nexport const WiFlood = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.72,20.76c0-0.05,0.01-0.12,0.02-0.21v-4.76c0.28,0.49,0.66,0.89,1.15,1.19c0.49,0.3,1.03,0.45,1.61,0.45c0.59,0,1.13-0.15,1.62-0.45c0.49-0.3,0.87-0.69,1.15-1.19c0.27,0.49,0.66,0.89,1.15,1.19c0.49,0.3,1.03,0.45,1.62,0.45c0.58,0,1.12-0.15,1.61-0.45c0.49-0.3,0.87-0.69,1.15-1.19c0.28,0.49,0.67,0.89,1.15,1.19c0.49,0.3,1.02,0.45,1.6,0.45c0.58,0,1.12-0.15,1.61-0.45c0.49-0.3,0.88-0.69,1.15-1.19v4.81c0,0.02,0,0.05,0,0.08c0,0.03,0,0.06,0,0.08c0,0.01,0,0.04,0,0.07s0,0.06,0,0.08c-0.03,0.23-0.13,0.43-0.3,0.6c-0.17,0.17-0.37,0.27-0.6,0.3c-0.02,0-0.05,0-0.08,0.01c-0.03,0.01-0.06,0.01-0.08,0.01c-0.01,0-0.04,0-0.07-0.01c-0.03-0.01-0.06-0.01-0.08-0.01H7.94c-0.02,0-0.04,0-0.08,0.01c-0.03,0.01-0.06,0.01-0.07,0.01c-0.02,0-0.05,0-0.08-0.01c-0.03-0.01-0.06-0.01-0.07-0.01c-0.22-0.03-0.42-0.12-0.58-0.28c-0.16-0.16-0.27-0.34-0.32-0.56C6.73,20.88,6.72,20.81,6.72,20.76zM12.23,9.67c0-0.16,0.06-0.3,0.17-0.42l2.21-2.22l0.03-0.02c0.01,0,0.01,0,0.01-0.01c0.01,0,0.01,0,0.01-0.01c0.01,0,0.01,0,0.01-0.01h0.01c0.01,0,0.01,0,0.01-0.01s0-0.01,0.01-0.02h0.02l0.01-0.01h0.01l0.01-0.01h0.01l0.01-0.01h0.01c0.01-0.01,0.01-0.01,0.02-0.01h0.01c0-0.01,0.01-0.01,0.02-0.01c0.01-0.01,0.01-0.01,0.02-0.01l0.04-0.02h0.01c0.01,0,0.01,0,0.01-0.01h0.07l0.01-0.01h0.12c0.01,0,0.01,0,0.02,0.01h0.06c0,0.01,0,0.01,0.01,0.01h0.02c0.01,0.01,0.02,0.02,0.03,0.02l0.02,0.01h0.02l0.01,0.01h0.01l0.01,0.01c0.01,0,0.01,0,0.01,0.01h0.02c0.01,0,0.01,0,0.01,0c0,0,0,0,0.01,0c0.01,0.01,0.01,0.01,0.02,0.01c0,0.01,0,0.02,0.01,0.02l0.01,0.01h0.02l0.01,0.01L15.41,7l0.01,0.01l0.02,0.02l2.22,2.22c0.12,0.12,0.18,0.26,0.18,0.42c0,0.16-0.06,0.3-0.18,0.41c-0.11,0.12-0.25,0.18-0.41,0.18c-0.16,0-0.3-0.06-0.41-0.18l-1.23-1.22v6.9c0,0.16-0.06,0.29-0.17,0.4c-0.11,0.11-0.25,0.17-0.41,0.17c-0.16,0-0.3-0.06-0.42-0.17c-0.12-0.11-0.17-0.25-0.17-0.4v-6.9l-1.22,1.22c-0.12,0.12-0.26,0.18-0.42,0.18c-0.16,0-0.3-0.06-0.41-0.18C12.29,9.97,12.23,9.83,12.23,9.67z\"}}]})(props);\r\n}\r\nexport const WiFog = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.62,21.05c0-0.24,0.08-0.45,0.25-0.61c0.17-0.16,0.38-0.24,0.63-0.24h18.67c0.25,0,0.45,0.08,0.61,0.24c0.16,0.16,0.24,0.36,0.24,0.61c0,0.23-0.08,0.43-0.25,0.58c-0.17,0.16-0.37,0.23-0.6,0.23H3.5c-0.25,0-0.46-0.08-0.63-0.23C2.7,21.47,2.62,21.28,2.62,21.05zM5.24,17.91c0-0.24,0.09-0.44,0.26-0.6c0.15-0.15,0.35-0.23,0.59-0.23h18.67c0.23,0,0.42,0.08,0.58,0.24c0.16,0.16,0.23,0.35,0.23,0.59c0,0.24-0.08,0.44-0.23,0.6c-0.16,0.17-0.35,0.25-0.58,0.25H6.09c-0.24,0-0.44-0.08-0.6-0.25C5.32,18.34,5.24,18.14,5.24,17.91zM5.37,15.52c0,0.09,0.05,0.13,0.15,0.13h1.43c0.06,0,0.13-0.05,0.2-0.16c0.24-0.52,0.59-0.94,1.06-1.27c0.47-0.33,0.99-0.52,1.55-0.56l0.55-0.07c0.11,0,0.17-0.06,0.17-0.18l0.07-0.5c0.11-1.08,0.56-1.98,1.37-2.7c0.81-0.72,1.76-1.08,2.85-1.08c1.08,0,2.02,0.36,2.83,1.07c0.8,0.71,1.26,1.61,1.37,2.68l0.08,0.57c0,0.11,0.07,0.17,0.2,0.17h1.59c0.64,0,1.23,0.17,1.76,0.52s0.92,0.8,1.18,1.37c0.07,0.11,0.14,0.16,0.21,0.16h1.43c0.12,0,0.17-0.07,0.14-0.23c-0.29-1.02-0.88-1.86-1.74-2.51c-0.87-0.65-1.86-0.97-2.97-0.97h-0.32c-0.33-1.33-1.03-2.42-2.1-3.27s-2.28-1.27-3.65-1.27c-1.4,0-2.64,0.44-3.73,1.32s-1.78,2-2.09,3.36c-0.85,0.2-1.6,0.6-2.24,1.21c-0.64,0.61-1.09,1.33-1.34,2.18v-0.04C5.37,15.45,5.37,15.48,5.37,15.52zM6.98,24.11c0-0.24,0.09-0.43,0.26-0.59c0.15-0.15,0.35-0.23,0.6-0.23h18.68c0.24,0,0.44,0.08,0.6,0.23c0.17,0.16,0.25,0.35,0.25,0.58c0,0.24-0.08,0.44-0.25,0.61c-0.17,0.17-0.37,0.25-0.6,0.25H7.84c-0.23,0-0.43-0.09-0.6-0.26C7.07,24.55,6.98,24.34,6.98,24.11z\"}}]})(props);\r\n}\r\nexport const WiGaleWarning = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.67,24.6V7.45h1.03V24.6H10.67z M12.4,22.44v-7.41l8.65,3.69L12.4,22.44z M12.4,14.86V7.45l8.65,3.69L12.4,14.86z\"}}]})(props);\r\n}\r\nexport const WiHail = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.64,16.9c0,1.33,0.46,2.47,1.39,3.43c0.93,0.96,2.06,1.47,3.4,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.34c0-0.11-0.06-0.17-0.17-0.17c-0.86-0.04-1.58-0.38-2.18-1.02c-0.6-0.64-0.9-1.39-0.9-2.26c0-0.83,0.28-1.54,0.84-2.16c0.56-0.61,1.26-0.97,2.09-1.07l0.53-0.03c0.13,0,0.2-0.06,0.2-0.19l0.06-0.53c0.11-1.08,0.56-1.99,1.37-2.71c0.81-0.73,1.76-1.09,2.85-1.09c1.09,0,2.04,0.36,2.85,1.09c0.81,0.73,1.27,1.63,1.39,2.71l0.08,0.58c0,0.11,0.06,0.17,0.18,0.17h1.61c0.89,0,1.66,0.32,2.31,0.96c0.65,0.64,0.98,1.39,0.98,2.27c0,0.87-0.3,1.62-0.9,2.26c-0.6,0.64-1.33,0.98-2.18,1.02c-0.13,0-0.2,0.06-0.2,0.17v1.34c0,0.11,0.07,0.17,0.2,0.17c0.87-0.02,1.67-0.26,2.4-0.71c0.73-0.45,1.31-1.05,1.73-1.8c0.42-0.75,0.63-1.57,0.63-2.44c0-0.89-0.22-1.72-0.67-2.47c-0.44-0.75-1.05-1.35-1.81-1.78S21.29,12,20.4,12h-0.32c-0.32-1.34-1.03-2.43-2.1-3.28s-2.3-1.28-3.68-1.28c-1.41,0-2.66,0.44-3.75,1.31c-1.09,0.87-1.79,1.99-2.1,3.35c-1.11,0.26-2.02,0.83-2.73,1.73S4.64,15.75,4.64,16.9zM10.09,24.1c0.09,0.21,0.25,0.37,0.46,0.46c0.2,0.1,0.41,0.11,0.62,0.02c0.22-0.09,0.36-0.24,0.45-0.45c0.1-0.22,0.11-0.43,0.02-0.64c-0.08-0.21-0.24-0.35-0.45-0.44c-0.2-0.11-0.4-0.12-0.61-0.03c-0.21,0.09-0.36,0.24-0.46,0.47C10.01,23.66,10.01,23.86,10.09,24.1zM10.72,21.28c0,0.16,0.05,0.31,0.15,0.45c0.1,0.15,0.26,0.25,0.46,0.32c0.19,0.11,0.4,0.12,0.62,0.01c0.22-0.1,0.37-0.3,0.44-0.6l0.9-3.38c0.06-0.25,0.04-0.47-0.08-0.67c-0.12-0.2-0.29-0.32-0.53-0.36c-0.08-0.02-0.16-0.03-0.24-0.03c-0.16,0-0.32,0.05-0.47,0.15c-0.15,0.1-0.26,0.25-0.32,0.44l-0.88,3.39C10.73,21.16,10.72,21.25,10.72,21.28zM12.58,26.87c0,0.12,0.02,0.22,0.06,0.29c0.09,0.22,0.24,0.37,0.45,0.45c0.09,0.05,0.2,0.08,0.33,0.08c0.06,0,0.16-0.02,0.3-0.06c0.22-0.08,0.38-0.23,0.47-0.45c0.1-0.22,0.1-0.44,0-0.66c-0.1-0.22-0.25-0.37-0.45-0.46c-0.2-0.09-0.4-0.09-0.62,0c-0.19,0.08-0.32,0.2-0.41,0.36C12.62,26.58,12.58,26.73,12.58,26.87zM13.31,24.26c0,0.37,0.21,0.61,0.63,0.73c0.11,0.03,0.19,0.04,0.24,0.04c0.15,0,0.28-0.03,0.38-0.08c0.21-0.08,0.35-0.27,0.42-0.57l1.67-6.29c0.06-0.24,0.04-0.45-0.06-0.65c-0.1-0.19-0.27-0.32-0.49-0.38c-0.08-0.02-0.17-0.03-0.27-0.03c-0.16,0-0.32,0.05-0.48,0.15c-0.16,0.1-0.26,0.25-0.3,0.44l-1.71,6.34C13.32,24.1,13.31,24.2,13.31,24.26zM16.74,23.8c0,0.12,0.02,0.23,0.08,0.32c0.08,0.19,0.23,0.34,0.44,0.44c0.11,0.04,0.23,0.07,0.35,0.07c0.06,0,0.16-0.02,0.3-0.06c0.21-0.08,0.37-0.23,0.46-0.44c0.07-0.22,0.07-0.43-0.01-0.63c-0.08-0.2-0.22-0.35-0.42-0.45c-0.23-0.11-0.44-0.12-0.65-0.03c-0.21,0.09-0.36,0.24-0.46,0.47C16.77,23.59,16.74,23.69,16.74,23.8zM17.47,21.23c0,0.14,0.05,0.29,0.16,0.45c0.11,0.16,0.26,0.27,0.45,0.33c0.16,0.03,0.25,0.05,0.27,0.05c0.09,0,0.22-0.03,0.37-0.1c0.2-0.09,0.33-0.27,0.4-0.52l0.9-3.34c0.02-0.17,0.03-0.26,0.03-0.26c0-0.16-0.05-0.31-0.15-0.46c-0.1-0.15-0.25-0.25-0.45-0.31c-0.09-0.02-0.18-0.03-0.26-0.03c-0.16,0-0.32,0.05-0.47,0.15s-0.25,0.25-0.31,0.45l-0.9,3.36L17.47,21.23z\"}}]})(props);\r\n}\r\nexport const WiHorizonAlt = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.11,15.9c0-0.26,0.09-0.47,0.27-0.62c0.14-0.15,0.35-0.23,0.62-0.23h2.08c0.24,0,0.45,0.08,0.6,0.24c0.16,0.16,0.24,0.36,0.24,0.6c0,0.24-0.08,0.44-0.24,0.61c-0.16,0.17-0.36,0.25-0.6,0.25H5c-0.24,0-0.45-0.08-0.63-0.25C4.19,16.34,4.11,16.14,4.11,15.9zM5.03,20.98c0-0.23,0.09-0.43,0.26-0.61c0.16-0.16,0.37-0.23,0.61-0.23h18.21c0.24,0,0.45,0.08,0.62,0.24c0.17,0.16,0.25,0.36,0.25,0.6c0,0.24-0.09,0.44-0.26,0.61s-0.38,0.26-0.61,0.26H5.91c-0.24,0-0.44-0.09-0.61-0.26S5.03,21.22,5.03,20.98zM7.08,8.81c0-0.26,0.08-0.45,0.23-0.59c0.17-0.18,0.38-0.27,0.62-0.27c0.24,0,0.44,0.09,0.61,0.27l1.44,1.46c0.18,0.16,0.26,0.36,0.26,0.6c0,0.25-0.08,0.45-0.24,0.61s-0.36,0.24-0.6,0.24c-0.22,0-0.42-0.08-0.6-0.24L7.31,9.42C7.16,9.28,7.08,9.08,7.08,8.81zM9.68,15.9c0,0.87,0.18,1.65,0.53,2.33c0.03,0.09,0.11,0.14,0.24,0.14h1.67c0.07,0,0.12-0.02,0.14-0.06c0.02-0.04-0.01-0.1-0.07-0.16c-0.53-0.65-0.8-1.4-0.8-2.25c0-0.99,0.36-1.84,1.07-2.54c0.71-0.7,1.56-1.05,2.55-1.05c0.99,0,1.84,0.35,2.55,1.05s1.05,1.55,1.05,2.54c0,0.86-0.27,1.61-0.8,2.25c-0.04,0.06-0.06,0.1-0.06,0.12c-0.01,0.03,0,0.06,0.03,0.07c0.02,0.02,0.06,0.03,0.1,0.03h1.7c0.09,0,0.16-0.05,0.21-0.14c0.38-0.71,0.56-1.48,0.56-2.33c0-0.96-0.24-1.85-0.72-2.67c-0.48-0.82-1.13-1.47-1.95-1.95s-1.71-0.72-2.67-0.72s-1.85,0.24-2.67,0.72c-0.82,0.48-1.47,1.13-1.95,1.95C9.91,14.05,9.68,14.94,9.68,15.9zM14.15,7.97V5.88c0-0.24,0.08-0.44,0.25-0.62C14.57,5.08,14.77,5,15.01,5c0.24,0,0.44,0.09,0.62,0.26c0.17,0.17,0.26,0.38,0.26,0.62v2.09c0,0.24-0.09,0.44-0.26,0.62c-0.18,0.18-0.38,0.26-0.62,0.26c-0.24,0-0.44-0.09-0.61-0.26C14.23,8.41,14.15,8.21,14.15,7.97zM19.77,10.28c0-0.24,0.08-0.44,0.24-0.6l1.44-1.46c0.17-0.18,0.38-0.27,0.62-0.27c0.25,0,0.46,0.08,0.62,0.25c0.17,0.17,0.25,0.37,0.25,0.61c0,0.26-0.08,0.46-0.23,0.61l-1.51,1.47c-0.16,0.15-0.36,0.22-0.59,0.22c-0.25,0.01-0.45-0.07-0.61-0.22C19.85,10.74,19.77,10.53,19.77,10.28zM22.1,15.9c0-0.27,0.08-0.47,0.24-0.62c0.14-0.15,0.34-0.23,0.59-0.23h2.09c0.24,0,0.45,0.08,0.62,0.24c0.17,0.16,0.26,0.36,0.26,0.6c0,0.24-0.09,0.44-0.26,0.61c-0.18,0.17-0.38,0.25-0.62,0.25h-2.09c-0.23,0-0.43-0.08-0.59-0.25C22.18,16.34,22.1,16.14,22.1,15.9z\"}}]})(props);\r\n}\r\nexport const WiHorizon = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.93,20.97c0-0.26,0.09-0.47,0.28-0.62c0.14-0.16,0.35-0.23,0.63-0.23h18.34c0.25,0,0.46,0.08,0.64,0.24c0.18,0.16,0.26,0.37,0.26,0.61c0,0.24-0.09,0.45-0.27,0.62s-0.39,0.27-0.63,0.27H5.84c-0.25,0-0.46-0.09-0.64-0.27C5.02,21.42,4.93,21.21,4.93,20.97zM6.9,12.68c0-0.26,0.08-0.47,0.23-0.63c0.17-0.18,0.38-0.26,0.65-0.26c0.23,0,0.43,0.09,0.6,0.26l1.5,1.5c0.18,0.18,0.27,0.39,0.27,0.63c0,0.23-0.09,0.44-0.27,0.62c-0.15,0.18-0.35,0.27-0.6,0.27s-0.47-0.09-0.64-0.27l-1.5-1.5C6.98,13.15,6.9,12.95,6.9,12.68zM9.83,18.27c-0.04,0.16,0.01,0.23,0.15,0.23h1.49c0.07,0,0.14-0.06,0.22-0.17c0.3-0.64,0.74-1.14,1.33-1.52s1.24-0.56,1.96-0.56c0.73,0,1.39,0.19,1.99,0.56s1.05,0.88,1.35,1.52c0.08,0.11,0.16,0.17,0.23,0.17h1.48c0.13,0,0.18-0.08,0.15-0.23c-0.34-1.13-0.99-2.05-1.95-2.76c-0.96-0.71-2.04-1.06-3.25-1.06c-1.2,0-2.28,0.35-3.23,1.06C10.82,16.22,10.17,17.14,9.83,18.27zM14.14,11.81V9.68c0-0.25,0.08-0.46,0.24-0.64c0.16-0.18,0.37-0.26,0.61-0.26c0.25,0,0.46,0.09,0.63,0.26c0.17,0.17,0.25,0.39,0.25,0.64v2.14c0,0.26-0.08,0.47-0.25,0.64c-0.17,0.17-0.38,0.25-0.63,0.25c-0.24,0-0.45-0.09-0.61-0.26S14.14,12.06,14.14,11.81zM19.86,14.18c0-0.24,0.08-0.45,0.25-0.63l1.54-1.5c0.16-0.18,0.36-0.26,0.62-0.26c0.24,0,0.44,0.08,0.6,0.25s0.23,0.38,0.23,0.64c0,0.26-0.08,0.47-0.23,0.62l-1.48,1.5c-0.17,0.17-0.36,0.26-0.56,0.28c-0.23,0.02-0.44-0.06-0.65-0.24S19.86,14.43,19.86,14.18z\"}}]})(props);\r\n}\r\nexport const WiHot = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.14,14.76c0-0.24,0.09-0.44,0.27-0.61c0.17-0.17,0.38-0.25,0.62-0.25h2.06c0.24,0,0.44,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.61c0,0.25-0.08,0.46-0.25,0.63c-0.17,0.17-0.37,0.25-0.6,0.25H5.03c-0.25,0-0.46-0.08-0.63-0.25C4.22,15.22,4.14,15.01,4.14,14.76zM7.06,7.74c0-0.23,0.08-0.44,0.24-0.62C7.5,6.96,7.71,6.87,7.96,6.87c0.21,0,0.41,0.08,0.59,0.25l1.45,1.48c0.17,0.16,0.25,0.36,0.25,0.6c0,0.24-0.08,0.44-0.25,0.6c-0.17,0.17-0.36,0.25-0.6,0.25c-0.26,0-0.46-0.08-0.61-0.25l-1.5-1.44C7.15,8.19,7.06,7.98,7.06,7.74zM9.67,14.76c0-0.71,0.14-1.39,0.43-2.04c0.28-0.65,0.67-1.22,1.14-1.69c0.48-0.47,1.05-0.85,1.7-1.13S14.28,9.47,15,9.47c0.96,0,1.84,0.24,2.66,0.72c0.82,0.48,1.47,1.12,1.94,1.94c0.47,0.81,0.71,1.69,0.71,2.63c0,0.15-0.01,0.29-0.03,0.42c-0.28-0.17-0.6-0.25-0.97-0.25c-0.24,0-0.48,0.05-0.72,0.15c0.01-0.07,0.01-0.18,0.01-0.32c0-0.98-0.35-1.81-1.06-2.5c-0.71-0.69-1.56-1.04-2.55-1.04c-0.99,0-1.83,0.35-2.54,1.04s-1.05,1.52-1.05,2.5v0.18c-0.29,0.02-0.57,0.1-0.84,0.25c-0.01,0.01-0.04,0.03-0.1,0.07s-0.12,0.09-0.19,0.14s-0.14,0.11-0.23,0.19s-0.18,0.16-0.26,0.24C9.7,15.51,9.67,15.15,9.67,14.76zM9.7,18.41v-0.15c-0.01-0.09,0-0.2,0.02-0.33c0.05-0.36,0.19-0.7,0.42-1.02c0.13-0.16,0.22-0.27,0.27-0.31c0.01-0.02,0.02-0.04,0.04-0.06l0.04-0.04c0.03-0.01,0.07-0.05,0.12-0.1c0.02-0.02,0.05-0.05,0.08-0.08s0.06-0.04,0.07-0.06c0.05-0.05,0.1-0.08,0.14-0.1l0.17-0.11c0.14-0.09,0.31-0.14,0.5-0.14h0.03c0.1,0,0.19,0.01,0.26,0.03c0.03,0.01,0.07,0.03,0.13,0.07v0.01c0.14,0.06,0.26,0.16,0.34,0.29c0.08,0.13,0.13,0.27,0.13,0.42c0,0.17-0.05,0.31-0.14,0.42c-0.06,0.09-0.14,0.17-0.22,0.23c-0.02,0.01-0.04,0.02-0.06,0.03c-0.02,0.01-0.04,0.02-0.04,0.02l-0.06,0.04c-0.04,0.03-0.07,0.06-0.1,0.08s-0.06,0.06-0.11,0.11c-0.04,0.05-0.08,0.09-0.11,0.14c-0.03,0.04-0.06,0.1-0.09,0.15c-0.03,0.06-0.05,0.12-0.05,0.17v0.15c0.04,0.15,0.08,0.27,0.11,0.36c0.07,0.14,0.18,0.28,0.34,0.44c0.01,0.02,0.09,0.1,0.24,0.25c0.86,0.78,1.27,1.62,1.21,2.5c-0.02,0.3-0.09,0.59-0.21,0.87c-0.12,0.28-0.26,0.51-0.43,0.7c-0.16,0.19-0.29,0.33-0.39,0.43c-0.1,0.09-0.18,0.16-0.25,0.21c-0.01,0.01-0.03,0.02-0.06,0.04c-0.03,0.02-0.06,0.04-0.07,0.04c-0.08,0.04-0.15,0.06-0.22,0.07c-0.09,0.01-0.15,0.02-0.2,0.02c-0.3,0-0.54-0.1-0.71-0.3c-0.14-0.17-0.2-0.37-0.18-0.59c0.02-0.22,0.13-0.4,0.33-0.53L11,22.75c0.01-0.01,0.03-0.03,0.05-0.04c0.02-0.02,0.04-0.04,0.07-0.06c0.03-0.02,0.06-0.05,0.08-0.08c0.03-0.03,0.06-0.07,0.08-0.1c0.03-0.04,0.06-0.08,0.08-0.12c0.03-0.04,0.06-0.09,0.08-0.14c0.03-0.05,0.05-0.1,0.07-0.15c0.02-0.05,0.03-0.1,0.05-0.16c0.01-0.06,0.02-0.12,0.02-0.17c0.02-0.2-0.03-0.4-0.15-0.6c-0.05-0.11-0.12-0.22-0.22-0.33c-0.07-0.08-0.12-0.13-0.15-0.16c-0.09-0.11-0.14-0.17-0.15-0.18c-0.02-0.01-0.04-0.03-0.07-0.06s-0.05-0.04-0.06-0.05c-0.15-0.14-0.26-0.26-0.34-0.36c-0.12-0.16-0.21-0.26-0.24-0.32c-0.19-0.26-0.32-0.52-0.39-0.78c-0.04-0.14-0.07-0.25-0.08-0.32c0-0.02-0.01-0.05-0.02-0.08S9.7,18.44,9.7,18.41zM13.58,18.08c0-0.06,0-0.1,0.01-0.14c0.02-0.22,0.09-0.43,0.2-0.64c0.11-0.21,0.22-0.39,0.35-0.53c0.13-0.14,0.25-0.27,0.38-0.38s0.23-0.19,0.31-0.25l0.12-0.07c0.15-0.09,0.32-0.14,0.5-0.14c0.11,0,0.21,0.01,0.3,0.03c0.01,0,0.02,0.01,0.05,0.02c0.03,0.02,0.05,0.03,0.06,0.04c0.01,0,0.02,0,0.03,0.01c0.01,0,0.03,0.02,0.07,0.05c0.2,0.12,0.32,0.3,0.38,0.54c0,0.02,0,0.04,0,0.07c0,0.02,0,0.04,0,0.05c0,0.03-0.01,0.07-0.02,0.12s-0.02,0.08-0.02,0.09c-0.07,0.23-0.21,0.39-0.42,0.5c-0.33,0.22-0.51,0.45-0.53,0.69c-0.01,0.08-0.01,0.15,0,0.22c0.02,0.12,0.08,0.25,0.17,0.39c0.11,0.16,0.19,0.27,0.24,0.32c0.16,0.16,0.25,0.25,0.28,0.27c0.12,0.11,0.28,0.28,0.47,0.51c0.54,0.65,0.79,1.32,0.74,2c-0.02,0.3-0.09,0.59-0.21,0.87c-0.12,0.28-0.26,0.51-0.43,0.7c-0.16,0.18-0.3,0.33-0.4,0.43c-0.11,0.1-0.19,0.17-0.25,0.21l-0.12,0.08c-0.11,0.04-0.17,0.06-0.21,0.07c-0.11,0.01-0.18,0.02-0.2,0.02h-0.03c-0.08,0-0.14-0.01-0.19-0.02c-0.02,0-0.05,0-0.08-0.01c-0.03-0.01-0.06-0.01-0.07-0.01c-0.01,0-0.02,0-0.03-0.01c-0.01-0.01-0.02-0.01-0.04-0.02c-0.01-0.01-0.02-0.01-0.03-0.01c-0.15-0.11-0.24-0.17-0.26-0.21c-0.16-0.18-0.22-0.38-0.19-0.6c0.03-0.22,0.14-0.39,0.34-0.53l0.03-0.04c0.02-0.02,0.05-0.05,0.09-0.08l0.12-0.12l0.13-0.16l0.12-0.19l0.09-0.22l0.04-0.24c0.01-0.4-0.22-0.82-0.69-1.27c-0.19-0.17-0.33-0.31-0.44-0.43C13.79,19.37,13.54,18.72,13.58,18.08zM14.12,6.92V4.85c0-0.24,0.09-0.45,0.26-0.62c0.17-0.17,0.38-0.25,0.61-0.25c0.24,0,0.45,0.08,0.62,0.25c0.17,0.17,0.25,0.38,0.25,0.62v2.07c0,0.24-0.08,0.43-0.25,0.59S15.24,7.74,15,7.74c-0.24,0-0.44-0.08-0.61-0.23C14.21,7.35,14.12,7.16,14.12,6.92zM17.48,17.93c0.02-0.22,0.09-0.43,0.2-0.64c0.11-0.21,0.22-0.39,0.35-0.53c0.13-0.14,0.25-0.27,0.38-0.38c0.12-0.11,0.22-0.19,0.3-0.25l0.13-0.07c0.02-0.02,0.06-0.04,0.1-0.08c0.11-0.04,0.24-0.07,0.38-0.07c0.34,0,0.59,0.13,0.77,0.38c0.05,0.07,0.08,0.14,0.1,0.23c0.01,0.02,0.02,0.05,0.02,0.08v0.11c0,0.31-0.15,0.55-0.45,0.7c-0.32,0.21-0.49,0.44-0.52,0.69c-0.04,0.34,0.19,0.74,0.68,1.2c0.88,0.77,1.28,1.61,1.23,2.5c-0.02,0.3-0.09,0.59-0.21,0.87c-0.12,0.28-0.27,0.51-0.43,0.7c-0.17,0.19-0.3,0.33-0.39,0.43s-0.18,0.16-0.25,0.21c-0.16,0.1-0.3,0.15-0.41,0.16c-0.03,0.01-0.08,0.01-0.15,0.01c-0.3,0-0.53-0.1-0.69-0.3c-0.15-0.17-0.21-0.37-0.19-0.59s0.13-0.4,0.32-0.53c0.03-0.01,0.09-0.06,0.18-0.14s0.18-0.21,0.29-0.38c0.1-0.18,0.16-0.35,0.17-0.53c0.02-0.4-0.22-0.82-0.7-1.27c-0.41-0.36-0.73-0.75-0.94-1.16C17.51,18.86,17.42,18.4,17.48,17.93zM19.77,9.21c0-0.25,0.08-0.45,0.23-0.6l1.46-1.48c0.18-0.17,0.38-0.25,0.61-0.25c0.24,0,0.44,0.09,0.61,0.26s0.26,0.38,0.26,0.61c0,0.25-0.09,0.46-0.26,0.62l-1.48,1.44c-0.18,0.17-0.38,0.25-0.61,0.25c-0.23,0-0.43-0.08-0.58-0.25C19.85,9.65,19.77,9.44,19.77,9.21zM22.07,14.76c0-0.22,0.09-0.42,0.26-0.61c0.16-0.17,0.35-0.25,0.58-0.25h2.06c0.24,0,0.45,0.09,0.62,0.26s0.27,0.37,0.27,0.6c0,0.24-0.09,0.45-0.26,0.62c-0.18,0.17-0.38,0.26-0.63,0.26h-2.06c-0.24,0-0.45-0.08-0.6-0.25C22.15,15.22,22.07,15.01,22.07,14.76z\"}}]})(props);\r\n}\r\nexport const WiHumidity = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.56,17.19c0-0.88,0.24-1.89,0.72-3.03s1.1-2.25,1.86-3.31c1.56-2.06,2.92-3.62,4.06-4.67l0.75-0.72c0.25,0.26,0.53,0.5,0.83,0.72c0.41,0.42,1.04,1.11,1.88,2.09s1.57,1.85,2.17,2.65c0.71,1.01,1.32,2.1,1.81,3.25s0.74,2.16,0.74,3.03c0,1-0.19,1.95-0.58,2.86c-0.39,0.91-0.91,1.7-1.57,2.36c-0.66,0.66-1.45,1.19-2.37,1.58c-0.92,0.39-1.89,0.59-2.91,0.59c-1,0-1.95-0.19-2.86-0.57c-0.91-0.38-1.7-0.89-2.36-1.55c-0.66-0.65-1.19-1.44-1.58-2.35S7.56,18.23,7.56,17.19zM9.82,14.26c0,0.83,0.17,1.49,0.52,1.99c0.35,0.49,0.88,0.74,1.59,0.74c0.72,0,1.25-0.25,1.61-0.74c0.35-0.49,0.53-1.15,0.54-1.99c-0.01-0.84-0.19-1.5-0.54-2c-0.35-0.49-0.89-0.74-1.61-0.74c-0.71,0-1.24,0.25-1.59,0.74C9.99,12.76,9.82,13.42,9.82,14.26zM11.39,14.26c0-0.15,0-0.27,0-0.35s0.01-0.19,0.02-0.33c0.01-0.14,0.02-0.25,0.05-0.32s0.05-0.16,0.09-0.24c0.04-0.08,0.09-0.15,0.15-0.18c0.07-0.04,0.14-0.06,0.23-0.06c0.14,0,0.25,0.04,0.33,0.12s0.14,0.21,0.17,0.38c0.03,0.18,0.05,0.32,0.06,0.45s0.01,0.3,0.01,0.52c0,0.23,0,0.4-0.01,0.52c-0.01,0.12-0.03,0.27-0.06,0.45c-0.03,0.17-0.09,0.3-0.17,0.38s-0.19,0.12-0.33,0.12c-0.09,0-0.16-0.02-0.23-0.06c-0.07-0.04-0.12-0.1-0.15-0.18c-0.04-0.08-0.07-0.17-0.09-0.24c-0.02-0.08-0.04-0.19-0.05-0.32c-0.01-0.14-0.02-0.25-0.02-0.32S11.39,14.41,11.39,14.26zM11.98,22.01h1.32l4.99-10.74h-1.35L11.98,22.01zM16.28,19.02c0.01,0.84,0.2,1.5,0.55,2c0.35,0.49,0.89,0.74,1.6,0.74c0.72,0,1.25-0.25,1.6-0.74c0.35-0.49,0.52-1.16,0.53-2c-0.01-0.84-0.18-1.5-0.53-1.99c-0.35-0.49-0.88-0.74-1.6-0.74c-0.71,0-1.25,0.25-1.6,0.74C16.47,17.52,16.29,18.18,16.28,19.02zM17.85,19.02c0-0.23,0-0.4,0.01-0.52c0.01-0.12,0.03-0.27,0.06-0.45s0.09-0.3,0.17-0.38s0.19-0.12,0.33-0.12c0.09,0,0.17,0.02,0.24,0.06c0.07,0.04,0.12,0.1,0.16,0.19c0.04,0.09,0.07,0.17,0.1,0.24s0.04,0.18,0.05,0.32l0.01,0.32l0,0.34c0,0.16,0,0.28,0,0.35l-0.01,0.32l-0.05,0.32l-0.1,0.24l-0.16,0.19l-0.24,0.06c-0.14,0-0.25-0.04-0.33-0.12s-0.14-0.21-0.17-0.38c-0.03-0.18-0.05-0.33-0.06-0.45S17.85,19.25,17.85,19.02z\"}}]})(props);\r\n}\r\nexport const WiHurricaneWarning = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.8,24.6V7.45h1.13V24.6H7.8zM9.73,21.52v-6.6h8.55v6.6H9.73zM9.73,14.05v-6.6h8.55v6.6H9.73zM12.09,19.52h3.81v-2.51h-3.81V19.52zM12.09,12.05h3.81v-2.5h-3.81V12.05z\"}}]})(props);\r\n}\r\nexport const WiHurricane = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.08,14.53v-0.02c-0.01-0.08,0-0.2,0-0.37c0.01-0.16,0.04-0.43,0.1-0.81c0.06-0.38,0.14-0.76,0.25-1.15s0.28-0.84,0.51-1.35c0.23-0.51,0.5-0.99,0.82-1.44C13.08,8.94,13.5,8.47,14.02,8c0.52-0.47,1.1-0.89,1.73-1.24c0.16-0.09,0.32-0.11,0.49-0.06s0.3,0.15,0.38,0.31c0.09,0.16,0.11,0.32,0.06,0.5c-0.05,0.17-0.15,0.31-0.3,0.39c-1.31,0.72-2.32,1.73-3.03,3.05c0.54-0.25,1.08-0.38,1.63-0.38c1.07,0,2,0.38,2.77,1.15c0.77,0.77,1.15,1.69,1.15,2.76c0,0.08,0,0.16,0,0.24c0,0.08-0.02,0.25-0.04,0.52c-0.02,0.27-0.06,0.52-0.11,0.77c-0.05,0.25-0.13,0.56-0.23,0.93c-0.11,0.37-0.23,0.73-0.38,1.06c-0.15,0.33-0.34,0.7-0.58,1.1s-0.51,0.77-0.81,1.12c-0.3,0.35-0.66,0.7-1.08,1.05c-0.43,0.35-0.89,0.67-1.39,0.95c-0.09,0.06-0.2,0.08-0.31,0.08c-0.26,0-0.45-0.12-0.58-0.35c-0.09-0.16-0.11-0.32-0.06-0.49c0.05-0.17,0.15-0.3,0.31-0.38c1.34-0.75,2.36-1.78,3.06-3.08c-0.54,0.26-1.11,0.38-1.71,0.38c-0.69,0-1.34-0.17-1.94-0.52c-0.6-0.34-1.07-0.81-1.43-1.41C11.27,15.87,11.09,15.23,11.08,14.53zM12.78,14.48c0,0.61,0.22,1.13,0.65,1.57c0.43,0.43,0.95,0.65,1.56,0.65c0.57,0,1.06-0.19,1.49-0.57c0.42-0.38,0.66-0.85,0.73-1.41l0.01-0.23c0-0.02,0-0.04,0.01-0.05c-0.01-0.6-0.23-1.11-0.66-1.52c-0.43-0.42-0.96-0.62-1.57-0.62c-0.56,0-1.04,0.18-1.46,0.54s-0.66,0.82-0.73,1.36l-0.02,0.25V14.48z\"}}]})(props);\r\n}\r\nexport const WiLightning = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.96,24.51h0.39l6.88-10.18c0.09-0.18,0.04-0.27-0.15-0.27h-2.84l2.99-5.45c0.09-0.18,0.02-0.27-0.2-0.27h-3.81c-0.11,0-0.2,0.06-0.29,0.18l-2.78,7.4c-0.02,0.18,0.04,0.27,0.19,0.27h2.75L7.96,24.51zM16.46,18.18h0.27l5.22-7.67c0.05-0.08,0.06-0.15,0.04-0.2s-0.08-0.07-0.17-0.07h-2.1l2.18-4.03c0.12-0.2,0.06-0.3-0.18-0.3h-2.74c-0.13,0-0.23,0.06-0.3,0.19l-2.08,5.48c-0.03,0.09-0.03,0.16,0.01,0.21c0.04,0.05,0.1,0.07,0.19,0.07h2.04L16.46,18.18z\"}}]})(props);\r\n}\r\nexport const WiLunarEclipse = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.8,14.62c0-0.93,0.23-1.8,0.7-2.6s1.1-1.44,1.9-1.91s1.67-0.7,2.6-0.7c0.94,0,1.81,0.23,2.61,0.7c0.8,0.47,1.43,1.1,1.9,1.9c0.47,0.8,0.7,1.67,0.7,2.61s-0.23,1.81-0.7,2.61c-0.47,0.8-1.1,1.43-1.9,1.9c-0.8,0.47-1.67,0.7-2.61,0.7s-1.8-0.23-2.6-0.7c-0.8-0.47-1.43-1.1-1.9-1.9C10.03,16.43,9.8,15.56,9.8,14.62zM14.25,11.22c0.87,0.11,1.6,0.49,2.19,1.15c0.59,0.66,0.89,1.44,0.89,2.33c0,0.83-0.26,1.56-0.78,2.2s-1.18,1.04-1.98,1.21c0.2,0.02,0.34,0.04,0.43,0.04c0.98,0,1.81-0.35,2.5-1.04c0.69-0.69,1.04-1.52,1.04-2.5c0-0.96-0.35-1.78-1.04-2.47c-0.69-0.68-1.53-1.02-2.5-1.02C14.74,11.14,14.49,11.17,14.25,11.22z\"}}]})(props);\r\n}\r\nexport const WiMeteor = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.09,19.39c0-0.13,0-0.23,0.01-0.29v-0.08c0-0.02,0-0.04,0-0.06c0-0.02,0-0.03,0-0.05s0-0.03,0-0.05c0-0.02,0-0.03,0-0.04v-0.02c0-0.03,0.01-0.07,0.02-0.12c0.01-0.05,0.02-0.08,0.02-0.09v-0.03c0-0.01,0-0.03,0-0.05c0-0.02,0-0.03,0-0.04l0.08-0.37c0-0.01,0-0.01,0.01-0.02v-0.02l0.04-0.14c0.01-0.01,0.01-0.01,0.01-0.02c0.01-0.01,0.01-0.02,0.01-0.03v-0.03c0.04-0.12,0.07-0.22,0.1-0.28c0-0.01,0.01-0.02,0.02-0.03c0.01-0.01,0.02-0.06,0.05-0.15c0.17-0.38,0.38-0.74,0.63-1.08l0.06-0.07c0.01-0.01,0.02-0.02,0.03-0.04c0.01-0.02,0.02-0.03,0.03-0.04c0.01-0.01,0.03-0.03,0.07-0.06c0.01-0.02,0.02-0.04,0.04-0.06c0.02-0.02,0.03-0.04,0.04-0.06c0.04-0.02,0.06-0.05,0.07-0.07c0.01-0.01,0.03-0.02,0.07-0.06l0.07-0.07l7.6-8.33l-0.38,2.2l6.82-7.29l-4.18,8.14l4.18-3.16l-3.79,7.6l2.71-1.87l-4.68,8.33c0,0.01-0.01,0.02-0.02,0.04s-0.02,0.04-0.03,0.05c-0.01,0.01-0.01,0.02-0.02,0.04c-0.01,0.02-0.01,0.03-0.02,0.05c-0.01,0.01-0.01,0.02-0.02,0.05c-0.01,0.02-0.02,0.04-0.02,0.05c-0.43,0.84-1.05,1.51-1.86,2.02c-0.81,0.51-1.7,0.76-2.67,0.76c-0.92,0-1.77-0.23-2.55-0.68c-0.78-0.46-1.4-1.07-1.86-1.86S7.09,20.31,7.09,19.39zM8.29,19.39c0,1.08,0.38,1.99,1.14,2.75c0.76,0.76,1.68,1.14,2.75,1.14c0.82,0,1.56-0.24,2.22-0.71c0.66-0.47,1.13-1.09,1.41-1.84c0.17-0.43,0.25-0.87,0.25-1.34c0-1.07-0.38-1.99-1.13-2.75c-0.76-0.76-1.67-1.13-2.75-1.13c-1,0-1.87,0.33-2.6,1c-0.41,0.36-0.72,0.78-0.95,1.28C8.4,18.3,8.29,18.83,8.29,19.39z\"}}]})(props);\r\n}\r\nexport const WiMoonAltFirstQuarter = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM14.8,24.51h0.19c1.37,0,2.67-0.27,3.91-0.8s2.31-1.25,3.21-2.15s1.61-1.97,2.15-3.21s0.8-2.54,0.8-3.91c0-1.36-0.27-2.66-0.8-3.9s-1.25-2.31-2.15-3.21s-1.97-1.61-3.21-2.15s-2.54-0.8-3.91-0.8H14.8V24.51z\"}}]})(props);\r\n}\r\nexport const WiMoonAltFull = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.53,0.3-3,0.89-4.39s1.4-2.59,2.4-3.6s2.2-1.81,3.6-2.4s2.85-0.89,4.37-0.89c1.53,0,3,0.3,4.39,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.39,0.89c-1.52,0-2.98-0.3-4.37-0.89s-2.59-1.4-3.6-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.36,0.27,2.66,0.8,3.9s1.25,2.32,2.15,3.22s1.97,1.61,3.22,2.15s2.55,0.8,3.9,0.8c1.37,0,2.67-0.27,3.91-0.8s2.31-1.25,3.22-2.15s1.62-1.97,2.15-3.22s0.8-2.55,0.8-3.9c0-1.82-0.45-3.5-1.35-5.05s-2.13-2.77-3.68-3.68s-3.23-1.35-5.05-1.35c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.41,7.89,7.32s-1.61,1.98-2.15,3.22S4.94,13.08,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltNew = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.1,4.1s3.61,1.51,5.65,1.51s3.92-0.5,5.65-1.51s3.09-2.37,4.09-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.09-4.09s-3.61-1.51-5.65-1.51S11.08,3.7,9.35,4.7s-3.1,2.37-4.1,4.09S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltThirdQuarter = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.37,0.27,2.67,0.8,3.91s1.25,2.31,2.15,3.21s1.97,1.61,3.21,2.15s2.54,0.8,3.9,0.8h0.21V4.39h-0.21c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.44,7.89,7.34s-1.61,1.97-2.15,3.21S4.94,13.09,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningCrescent1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.37,0.27,2.67,0.8,3.91s1.25,2.31,2.15,3.21s1.97,1.61,3.21,2.15s2.54,0.8,3.9,0.8h0.07c-0.59-2.67-0.88-6.02-0.88-10.06c0-3.39,0.3-6.74,0.91-10.05h-0.1c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.44,7.89,7.34s-1.61,1.97-2.15,3.21S4.94,13.09,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningCrescent2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.36,0.26,2.65,0.79,3.89s1.24,2.3,2.12,3.2s1.95,1.62,3.17,2.15s2.52,0.81,3.87,0.82c-1.16-2.47-1.74-5.83-1.74-10.06c0-3.61,0.6-6.96,1.8-10.05c-1.36,0-2.65,0.27-3.89,0.81s-2.3,1.25-3.19,2.15s-1.61,1.97-2.14,3.2S4.94,13.09,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningCrescent3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.34,0.26,2.62,0.77,3.85s1.21,2.29,2.08,3.19s1.92,1.62,3.13,2.16s2.48,0.83,3.81,0.87c-1.71-2.32-2.56-5.68-2.56-10.06c0-1.87,0.23-3.67,0.69-5.41s1.11-3.29,1.95-4.64c-1.8,0.03-3.45,0.5-4.96,1.41s-2.7,2.13-3.58,3.65S4.94,12.65,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningCrescent4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.33,0.25,2.6,0.75,3.81s1.18,2.26,2.03,3.15s1.87,1.61,3.05,2.17s2.43,0.87,3.74,0.94c-1.24-1.19-2.11-2.63-2.61-4.31s-0.75-3.6-0.75-5.76c0-1.93,0.31-3.78,0.92-5.54s1.47-3.26,2.56-4.5c-1.77,0.07-3.39,0.56-4.88,1.47S7.09,8,6.23,9.51S4.94,12.68,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningCrescent5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.27,0.23,2.49,0.7,3.66s1.09,2.2,1.89,3.08s1.75,1.61,2.85,2.19s2.28,0.94,3.52,1.08c-1.75-1.04-2.98-2.39-3.7-4.07s-1.08-3.66-1.08-5.93c0-2.07,0.44-4,1.32-5.78s2.1-3.2,3.66-4.24c-1.26,0.11-2.46,0.45-3.59,1.02s-2.1,1.3-2.92,2.19s-1.46,1.92-1.93,3.11S4.94,13.15,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningCrescent6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,2.48,0.8,4.66,2.41,6.53s3.62,3.01,6.03,3.41c-1.01-0.5-1.86-1.1-2.56-1.82s-1.25-1.5-1.63-2.37s-0.66-1.77-0.83-2.7s-0.26-1.95-0.26-3.06c0-2.11,0.5-4.06,1.49-5.84s2.37-3.16,4.12-4.12c-1.63,0.21-3.11,0.77-4.45,1.7S6.87,8.3,6.1,9.76S4.94,12.77,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningGibbous1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.43c0-2.04,0.51-3.92,1.52-5.65S7.64,5.7,9.37,4.69s3.61-1.5,5.65-1.5s3.92,0.5,5.65,1.5s3.09,2.36,4.09,4.09s1.5,3.61,1.5,5.65s-0.5,3.93-1.5,5.65s-2.36,3.1-4.09,4.11s-3.61,1.52-5.65,1.52s-3.93-0.51-5.65-1.52s-3.1-2.38-4.11-4.11S3.74,16.47,3.74,14.43zM4.94,14.43c0,1.36,0.27,2.66,0.81,3.9S7,20.65,7.9,21.55s1.97,1.62,3.22,2.15s2.55,0.81,3.9,0.81c0.86,0,1.62-0.09,2.29-0.28c0.83-0.44,1.55-0.96,2.17-1.57s1.1-1.22,1.46-1.85s0.64-1.33,0.86-2.09s0.36-1.48,0.43-2.14s0.1-1.37,0.1-2.15c0-0.93-0.1-1.84-0.3-2.74S21.52,9.9,21.1,9.02s-0.99-1.72-1.72-2.5s-1.57-1.45-2.54-1.99c-0.4-0.09-1.01-0.13-1.82-0.13c-1.36,0-2.66,0.26-3.9,0.79S8.8,6.43,7.9,7.32s-1.62,1.97-2.15,3.2S4.94,13.06,4.94,14.43z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningGibbous2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.37,0.27,2.67,0.8,3.91s1.25,2.31,2.15,3.21s1.97,1.61,3.21,2.15s2.54,0.8,3.9,0.8c0.36,0,0.76-0.02,1.2-0.07c0.93-0.57,1.71-1.24,2.35-2.03s1.12-1.64,1.43-2.56s0.53-1.8,0.65-2.65s0.18-1.77,0.18-2.75c0-1.25-0.15-2.46-0.46-3.64s-0.84-2.34-1.59-3.49s-1.69-2.11-2.81-2.89c-0.41-0.02-0.73-0.03-0.95-0.03c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.44,7.89,7.34s-1.61,1.97-2.15,3.21S4.94,13.09,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningGibbous3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.37,0.27,2.67,0.8,3.91s1.25,2.31,2.15,3.21s1.97,1.61,3.21,2.15s2.54,0.8,3.9,0.8c0.33,0,0.58,0,0.73-0.01c0.78-0.61,1.44-1.31,1.96-2.11s0.92-1.66,1.18-2.57s0.44-1.79,0.54-2.63s0.15-1.75,0.15-2.74c0-1.91-0.32-3.76-0.97-5.54s-1.65-3.28-3.02-4.49c-0.13-0.01-0.32-0.01-0.59-0.01c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.44,7.89,7.34s-1.61,1.97-2.15,3.21S4.94,13.09,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningGibbous4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.37,0.27,2.67,0.8,3.91s1.25,2.31,2.15,3.21s1.97,1.61,3.21,2.15s2.54,0.8,3.9,0.8h0.38c0.6-0.64,1.1-1.37,1.5-2.19s0.71-1.67,0.9-2.58s0.33-1.77,0.41-2.59s0.12-1.73,0.12-2.7c0-1.88-0.24-3.7-0.73-5.46s-1.25-3.28-2.3-4.59h-0.28c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.44,7.89,7.34s-1.61,1.97-2.15,3.21S4.94,13.09,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningGibbous5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.37,0.27,2.67,0.8,3.91s1.25,2.31,2.15,3.21s1.97,1.61,3.21,2.15s2.54,0.8,3.9,0.8c0.26,0,0.46,0,0.59-0.01c0.77-1.33,1.3-2.83,1.57-4.5s0.42-3.52,0.42-5.55c0-4.01-0.68-7.36-2.04-10.03c-0.11-0.01-0.29-0.01-0.54-0.01c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.44,7.89,7.34s-1.61,1.97-2.15,3.21S4.94,13.09,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaningGibbous6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.37,0.27,2.67,0.8,3.91s1.25,2.31,2.15,3.21s1.97,1.61,3.21,2.15s2.54,0.8,3.9,0.8h0.38c0.67-2.49,1.01-5.84,1.01-10.06c0-3.82-0.34-7.17-1.03-10.05h-0.37c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.44,7.89,7.34s-1.61,1.97-2.15,3.21S4.94,13.09,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingCrescent1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM16.38,4.48c1.64,0.9,2.99,2.2,4.04,3.9s1.57,3.72,1.57,6.06c0,4.9-1.72,8.2-5.16,9.89c2.35-0.44,4.31-1.59,5.87-3.44s2.34-4,2.34-6.45c0-1.66-0.38-3.21-1.14-4.66s-1.8-2.63-3.13-3.57S18,4.71,16.38,4.48z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingCrescent2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM15.9,4.42c1.48,0.99,2.7,2.34,3.65,4.05s1.42,3.7,1.42,5.97c0,4.8-1.6,8.13-4.79,9.99c1.65-0.2,3.15-0.76,4.5-1.68s2.42-2.12,3.2-3.58s1.17-3.03,1.17-4.72c0-1.72-0.41-3.32-1.22-4.8s-1.91-2.69-3.31-3.61S17.59,4.57,15.9,4.42z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingCrescent3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM15.58,4.41c1.28,1.1,2.32,2.51,3.13,4.22s1.22,3.65,1.22,5.82c0,4.64-1.39,7.99-4.16,10.05c1.28-0.1,2.49-0.43,3.63-1s2.13-1.29,2.96-2.18s1.49-1.93,1.97-3.13s0.73-2.44,0.73-3.74c0-1.75-0.42-3.38-1.26-4.89s-1.99-2.72-3.44-3.64S17.31,4.5,15.58,4.41z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingCrescent4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4S13.48,3.19,15,3.19s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.75,15.97,3.75,14.44zM15.35,4.39c1.05,1.27,1.91,2.75,2.57,4.44s0.99,3.56,0.99,5.61c0,4.39-1.14,7.75-3.43,10.06c1.31-0.06,2.55-0.37,3.74-0.92s2.2-1.28,3.05-2.18s1.53-1.95,2.04-3.16s0.75-2.48,0.75-3.81c0-1.78-0.43-3.43-1.3-4.94s-2.04-2.73-3.53-3.65S17.12,4.45,15.35,4.39z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingCrescent5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM15.15,4.39c1.83,3.22,2.74,6.57,2.74,10.05c0,4.16-0.88,7.51-2.65,10.06c1.34-0.03,2.61-0.32,3.82-0.86s2.25-1.27,3.13-2.16s1.57-1.95,2.09-3.18s0.78-2.51,0.78-3.86c0-1.8-0.44-3.46-1.33-5s-2.08-2.75-3.6-3.65S16.95,4.42,15.15,4.39z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingCrescent6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM15.01,4.39c1.23,3.54,1.85,6.89,1.85,10.05c0,3.93-0.59,7.28-1.77,10.06c1.35-0.01,2.64-0.28,3.87-0.81s2.3-1.25,3.19-2.15s1.6-1.97,2.12-3.21s0.79-2.54,0.79-3.9s-0.27-2.66-0.8-3.9s-1.25-2.31-2.15-3.21s-1.97-1.61-3.21-2.15S16.36,4.39,15.01,4.39z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingGibbous1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM13.38,14.44c0,3.81,0.41,7.16,1.23,10.06h0.38c1.37,0,2.67-0.27,3.91-0.8s2.31-1.25,3.21-2.15s1.61-1.97,2.15-3.21s0.8-2.54,0.8-3.91c0-1.36-0.27-2.66-0.8-3.9s-1.25-2.31-2.15-3.21s-1.97-1.61-3.21-2.15s-2.54-0.8-3.91-0.8h-0.34C13.81,7.99,13.38,11.34,13.38,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingGibbous2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.52,0.3-2.98,0.89-4.37s1.4-2.58,2.4-3.59s2.2-1.81,3.59-2.4s2.84-0.89,4.37-0.89s2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.58-1.4-3.59-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM11.96,14.44c0,4.15,0.81,7.5,2.42,10.05c0.15,0.01,0.35,0.01,0.62,0.01c1.37,0,2.67-0.27,3.91-0.8s2.31-1.25,3.21-2.15s1.61-1.97,2.15-3.21s0.8-2.54,0.8-3.91c0-1.36-0.27-2.66-0.8-3.9s-1.25-2.31-2.15-3.21s-1.97-1.61-3.21-2.15s-2.54-0.8-3.91-0.8c-0.23,0-0.42,0-0.54,0.01C12.79,7.55,11.96,10.9,11.96,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingGibbous3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-2.03,0.5-3.91,1.51-5.64s2.37-3.1,4.1-4.1s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.59s0.89,2.84,0.89,4.37s-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.37,0.89s-2.98-0.3-4.37-0.89s-2.59-1.4-3.59-2.4s-1.8-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM10.54,14.44c0,4.44,1.17,7.78,3.5,10.02c0.07,0,0.17,0,0.3,0.01s0.25,0.02,0.35,0.02s0.2,0.01,0.3,0.01c1.36,0,2.66-0.27,3.9-0.8s2.32-1.25,3.22-2.15s1.61-1.97,2.15-3.21s0.8-2.54,0.8-3.91c0-1.36-0.27-2.66-0.8-3.9s-1.25-2.31-2.15-3.21s-1.97-1.61-3.22-2.15s-2.55-0.8-3.9-0.8c-0.36,0-0.63,0.01-0.81,0.03c-1.08,1.22-1.96,2.69-2.64,4.42S10.54,12.43,10.54,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingGibbous4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.53,0.3-3,0.89-4.39s1.4-2.59,2.4-3.6s2.2-1.81,3.6-2.4s2.85-0.89,4.37-0.89c1.53,0,3,0.3,4.39,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.39,0.89c-1.52,0-2.98-0.3-4.37-0.89s-2.59-1.4-3.6-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM9.13,14.43c0,4.68,1.48,8,4.45,9.98c0.44,0.07,0.91,0.1,1.42,0.1c1.37,0,2.67-0.27,3.91-0.8s2.31-1.25,3.22-2.15s1.62-1.97,2.15-3.22s0.8-2.55,0.8-3.9c0-1.82-0.45-3.5-1.35-5.05s-2.13-2.77-3.68-3.68s-3.23-1.35-5.05-1.35c-0.45,0-0.84,0.02-1.19,0.06c-1.4,1.06-2.53,2.46-3.39,4.2S9.13,12.29,9.13,14.43z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingGibbous5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.53,0.3-3,0.89-4.39s1.4-2.59,2.4-3.6s2.2-1.81,3.6-2.4s2.85-0.89,4.37-0.89c1.53,0,3,0.3,4.39,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.39,0.89c-1.52,0-2.98-0.3-4.37-0.89s-2.59-1.4-3.6-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM7.71,14.44c0,4.76,1.66,8.02,4.97,9.79c0.73,0.19,1.51,0.28,2.33,0.28c1.37,0,2.67-0.27,3.91-0.8s2.31-1.25,3.22-2.15s1.62-1.97,2.15-3.22s0.8-2.55,0.8-3.9c0-1.82-0.45-3.5-1.35-5.05s-2.13-2.77-3.68-3.68s-3.23-1.35-5.05-1.35c-0.68,0-1.3,0.05-1.85,0.16c-1.63,0.94-2.95,2.27-3.95,3.99S7.71,12.22,7.71,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonAltWaxingGibbous6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.53,0.3-3,0.89-4.39s1.4-2.59,2.4-3.6s2.2-1.81,3.6-2.4s2.85-0.89,4.37-0.89c1.53,0,3,0.3,4.39,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.39,0.89c-1.52,0-2.98-0.3-4.37-0.89s-2.59-1.4-3.6-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM6.42,14.44c0,0.78,0.05,1.5,0.15,2.15c0.1,0.65,0.29,1.35,0.57,2.09s0.66,1.41,1.13,2.03s1.09,1.24,1.88,1.86s1.7,1.2,2.77,1.71c0.67,0.15,1.37,0.22,2.09,0.22c1.37,0,2.67-0.27,3.91-0.8s2.31-1.25,3.22-2.15s1.62-1.97,2.15-3.22s0.8-2.55,0.8-3.9c0-1.82-0.45-3.5-1.35-5.05s-2.13-2.77-3.68-3.68s-3.23-1.35-5.05-1.35c-0.85,0-1.62,0.09-2.31,0.26C11.81,5.05,11.03,5.51,10.35,6S9.1,7.01,8.66,7.54S7.84,8.62,7.53,9.16s-0.54,1.12-0.69,1.74s-0.26,1.2-0.32,1.75S6.42,13.8,6.42,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonFirstQuarter = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.01,25.71c2.04,0,3.92-0.5,5.65-1.51s3.09-2.37,4.09-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.09-4.09s-3.61-1.51-5.65-1.51V25.71z\"}}]})(props);\r\n}\r\nexport const WiMoonFull = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.1,4.1s3.61,1.51,5.65,1.51s3.92-0.5,5.65-1.51s3.09-2.37,4.09-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.09-4.09s-3.61-1.51-5.65-1.51S11.08,3.7,9.35,4.7s-3.1,2.37-4.1,4.09S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonNew = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0-1.53,0.3-3,0.89-4.39s1.4-2.59,2.4-3.6s2.2-1.81,3.6-2.4s2.85-0.89,4.37-0.89c1.53,0,3,0.3,4.39,0.89s2.59,1.4,3.6,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.6s-2.2,1.81-3.6,2.4s-2.85,0.89-4.39,0.89c-1.52,0-2.98-0.3-4.37-0.89s-2.59-1.4-3.6-2.4s-1.81-2.2-2.4-3.6S3.74,15.97,3.74,14.44zM4.94,14.44c0,1.36,0.27,2.66,0.8,3.9s1.25,2.32,2.15,3.22s1.97,1.61,3.22,2.15s2.55,0.8,3.9,0.8c1.37,0,2.67-0.27,3.91-0.8s2.31-1.25,3.22-2.15s1.62-1.97,2.15-3.22s0.8-2.55,0.8-3.9c0-1.82-0.45-3.5-1.35-5.05s-2.13-2.77-3.68-3.68s-3.23-1.35-5.05-1.35c-1.36,0-2.66,0.27-3.9,0.8S8.79,6.41,7.89,7.32s-1.61,1.98-2.15,3.22S4.94,13.08,4.94,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonThirdQuarter = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.09,4.1s3.61,1.51,5.65,1.51V3.19c-2.04,0-3.92,0.5-5.65,1.51S6.26,7.07,5.25,8.8S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningCrescent1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.09,4.1s3.61,1.51,5.65,1.51c-1-3.14-1.49-6.9-1.49-11.26c0-3.43,0.5-7.18,1.49-11.25c-2.04,0-3.92,0.5-5.65,1.51S6.26,7.07,5.25,8.8S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningCrescent2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.1,4.1s3.61,1.51,5.65,1.51c-2.01-2.74-3.02-6.5-3.02-11.26c0-3.98,1.01-7.73,3.02-11.25c-2.04,0-3.93,0.5-5.65,1.51s-3.1,2.37-4.1,4.09S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningCrescent3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.09,4.1s3.61,1.51,5.65,1.51c-2.99-2.33-4.48-6.09-4.48-11.26c0-2.32,0.42-4.46,1.25-6.4s1.91-3.56,3.23-4.85c-2.04,0-3.92,0.5-5.65,1.51S6.26,7.07,5.25,8.8S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningCrescent4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.1,4.1s3.61,1.51,5.65,1.51c-2.07-1.01-3.59-2.45-4.56-4.33S9,17.19,9,14.44c0-2.53,0.56-4.78,1.69-6.75s2.57-3.47,4.31-4.5c-2.04,0-3.93,0.5-5.65,1.51s-3.1,2.37-4.1,4.09S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningCrescent5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.09,4.1s3.61,1.51,5.65,1.51c-2.59-0.79-4.48-2.13-5.69-4.02s-1.81-4.3-1.81-7.24c0-1.39,0.2-2.7,0.6-3.95c0.4-1.25,0.94-2.34,1.63-3.27s1.48-1.75,2.37-2.44s1.86-1.22,2.89-1.59c-2.04,0-3.92,0.5-5.65,1.51S6.26,7.07,5.25,8.8S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningCrescent6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.44c0,2.04,0.5,3.93,1.51,5.65s2.37,3.1,4.09,4.1s3.61,1.51,5.65,1.51c-1.46-0.56-2.72-1.18-3.79-1.88s-1.93-1.39-2.57-2.1s-1.15-1.49-1.53-2.34s-0.64-1.66-0.77-2.42s-0.2-1.6-0.2-2.52c0-0.65,0.03-1.26,0.08-1.81s0.16-1.14,0.32-1.77s0.38-1.21,0.64-1.75s0.63-1.09,1.08-1.66s0.98-1.1,1.59-1.57s1.34-0.95,2.21-1.42s1.85-0.89,2.93-1.27c-2.04,0-3.92,0.5-5.65,1.51S6.26,7.07,5.25,8.8S3.74,12.4,3.74,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningGibbous1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.49c0,1.22,0.19,2.4,0.56,3.54s0.91,2.17,1.6,3.09s1.5,1.72,2.42,2.42s1.95,1.23,3.09,1.6s2.32,0.56,3.54,0.56c5.03-1.4,7.54-5.14,7.54-11.22c0-1.18-0.14-2.3-0.42-3.37s-0.65-2.01-1.13-2.83s-1.04-1.57-1.68-2.24s-1.34-1.24-2.06-1.68s-1.47-0.81-2.26-1.07c-1.52,0-2.98,0.3-4.37,0.89S8.02,5.57,7.02,6.57s-1.8,2.19-2.39,3.57S3.74,12.97,3.74,14.49z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningGibbous2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.49c0,1.22,0.19,2.4,0.56,3.54s0.91,2.17,1.6,3.09s1.5,1.72,2.42,2.42s1.95,1.23,3.09,1.6s2.32,0.56,3.54,0.56c4.33-1.73,6.49-5.47,6.49-11.22c0-1.39-0.18-2.7-0.54-3.93s-0.85-2.31-1.47-3.23s-1.31-1.71-2.06-2.39s-1.56-1.23-2.42-1.66c-2.03,0-3.91,0.5-5.63,1.5S6.25,7.14,5.24,8.86S3.74,12.46,3.74,14.49z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningGibbous3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.49c0,1.22,0.19,2.4,0.56,3.54s0.91,2.17,1.6,3.09s1.5,1.72,2.42,2.42s1.95,1.23,3.09,1.6s2.32,0.56,3.54,0.56c3.61-2.07,5.42-5.81,5.42-11.22c0-1.31-0.15-2.56-0.45-3.74s-0.71-2.24-1.23-3.17s-1.1-1.75-1.72-2.46s-1.3-1.33-2.02-1.86c-1.52,0-2.98,0.3-4.37,0.89s-2.58,1.39-3.58,2.4s-1.8,2.2-2.39,3.59S3.74,12.96,3.74,14.49z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningGibbous4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0,1.52,0.3,2.98,0.89,4.37s1.39,2.58,2.4,3.59s2.2,1.8,3.59,2.4s2.84,0.89,4.37,0.89c2.89-2.39,4.34-6.14,4.34-11.24c0-2.34-0.41-4.47-1.22-6.36s-1.85-3.52-3.11-4.87c-2.03,0-3.91,0.5-5.64,1.51S6.25,7.12,5.24,8.84S3.74,12.44,3.74,14.47z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningGibbous5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0,2.03,0.5,3.91,1.51,5.63s2.37,3.09,4.09,4.09s3.6,1.51,5.63,1.51c2.17-2.75,3.25-6.5,3.25-11.24c0-3.96-1.08-7.71-3.25-11.24c-2.03,0-3.91,0.5-5.63,1.5S6.26,7.1,5.25,8.83S3.74,12.44,3.74,14.47z\"}}]})(props);\r\n}\r\nexport const WiMoonWaningGibbous6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.46c0,2.04,0.5,3.92,1.51,5.65s2.37,3.09,4.09,4.09s3.61,1.51,5.65,1.51c1.44-3.08,2.15-6.83,2.15-11.25c0-3.46-0.72-7.2-2.15-11.24c-1.52,0-2.98,0.3-4.37,0.89S8.03,5.5,7.03,6.5s-1.8,2.2-2.4,3.59S3.74,12.93,3.74,14.46z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingCrescent1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.46c0,2.04,0.5,3.92,1.51,5.65s2.37,3.09,4.09,4.09s3.61,1.51,5.65,1.51c1.44-3.08,2.15-6.83,2.15-11.25c0-3.46-0.72-7.2-2.15-11.24c-1.52,0-2.98,0.3-4.37,0.89S8.03,5.5,7.03,6.5s-1.8,2.2-2.4,3.59S3.74,12.93,3.74,14.46z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingCrescent2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.01,25.71c2.04,0,3.92-0.5,5.65-1.51s3.09-2.37,4.09-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.09-4.09s-3.61-1.51-5.65-1.51c1.1,0.59,2.07,1.32,2.89,2.19s1.47,1.82,1.95,2.83s0.83,2.03,1.05,3.07s0.34,2.09,0.34,3.16c0,0.91-0.04,1.76-0.13,2.54s-0.27,1.63-0.53,2.53s-0.62,1.71-1.06,2.43s-1.04,1.42-1.82,2.09S16.03,25.26,15.01,25.71z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingCrescent3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.01,25.71c2.04,0,3.92-0.5,5.65-1.51s3.09-2.37,4.09-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.09-4.09s-3.61-1.51-5.65-1.51c1.71,1.26,2.97,2.9,3.78,4.91S20,12.24,20,14.44c0,0.9-0.03,1.73-0.1,2.5s-0.21,1.59-0.43,2.47s-0.51,1.68-0.86,2.4s-0.83,1.42-1.45,2.12S15.83,25.21,15.01,25.71z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingCrescent4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.01,25.71c2.04,0,3.92-0.5,5.65-1.51s3.09-2.37,4.09-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.09-4.09s-3.61-1.51-5.65-1.51c1.29,1.39,2.24,3.07,2.84,5.05s0.91,4.05,0.91,6.2c0,0.88-0.03,1.69-0.08,2.44s-0.16,1.55-0.32,2.41s-0.38,1.65-0.64,2.37s-0.63,1.43-1.09,2.15S15.62,25.15,15.01,25.71z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingCrescent5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.99,25.71c2.04,0,3.93-0.5,5.65-1.51s3.1-2.37,4.1-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.1-4.09s-3.61-1.51-5.65-1.51c1.67,2.9,2.5,6.65,2.5,11.25c0,2.33-0.17,4.43-0.52,6.3S15.97,24.26,14.99,25.71z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingCrescent6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.99,25.71c2.04,0,3.93-0.5,5.65-1.51s3.1-2.37,4.1-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.1-4.09s-3.61-1.51-5.65-1.51c1.67,2.9,2.5,6.65,2.5,11.25c0,2.33-0.17,4.43-0.52,6.3S15.97,24.26,14.99,25.71z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingGibbous1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.93,14.44c-0.02,4.53,0.33,8.29,1.04,11.27c2.04,0.01,3.93-0.49,5.65-1.49s3.1-2.36,4.11-4.08s1.52-3.61,1.53-5.65c0.01-2.04-0.49-3.93-1.49-5.65c-1-1.73-2.36-3.1-4.08-4.11s-3.6-1.52-5.64-1.53C14.32,6.91,13.94,10.66,13.93,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingGibbous2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.85,14.44c0,4.77,0.71,8.52,2.14,11.26c2.04,0,3.93-0.5,5.65-1.51s3.1-2.37,4.1-4.1s1.51-3.61,1.51-5.65s-0.5-3.92-1.51-5.65s-2.37-3.09-4.1-4.09s-3.61-1.51-5.65-1.51C13.57,6.61,12.85,10.36,12.85,14.44z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingGibbous3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.8,14.43c0,2.39,0.24,4.52,0.71,6.39s1.31,3.5,2.51,4.89c1.52,0,2.98-0.3,4.37-0.89s2.59-1.4,3.6-2.4s1.81-2.2,2.4-3.6s0.89-2.85,0.89-4.39s-0.3-2.99-0.89-4.38s-1.4-2.58-2.4-3.59s-2.2-1.81-3.6-2.4s-2.85-0.89-4.37-0.89c-1.02,1.46-1.81,3.16-2.37,5.13S11.8,12.3,11.8,14.43z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingGibbous4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.73,14.43c0,1.19,0.07,2.29,0.2,3.3s0.35,2,0.67,2.99s0.76,1.9,1.33,2.75s1.27,1.59,2.09,2.25c1.53,0,2.99-0.3,4.38-0.89s2.58-1.4,3.59-2.4s1.81-2.2,2.4-3.6s0.89-2.85,0.89-4.39c0-2.04-0.5-3.93-1.51-5.65s-2.37-3.1-4.1-4.1s-3.61-1.51-5.65-1.51c-1.35,1.3-2.4,2.94-3.16,4.93S10.73,12.19,10.73,14.43z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingGibbous5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.65,14.43c0,1.24,0.08,2.38,0.25,3.41s0.44,2.05,0.83,3.04s0.95,1.89,1.67,2.71s1.6,1.52,2.62,2.12c1.52,0,2.98-0.3,4.37-0.89s2.59-1.4,3.6-2.4s1.81-2.2,2.4-3.6s0.89-2.85,0.89-4.39s-0.3-2.99-0.89-4.38s-1.4-2.58-2.4-3.59s-2.2-1.81-3.6-2.4s-2.85-0.89-4.37-0.89c-1.67,1.14-2.98,2.72-3.94,4.74S9.65,12.09,9.65,14.43z\"}}]})(props);\r\n}\r\nexport const WiMoonWaxingGibbous6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.58,14.43c0,1.03,0.06,1.97,0.18,2.83s0.32,1.73,0.62,2.59s0.69,1.65,1.16,2.34s1.1,1.35,1.85,1.96s1.63,1.12,2.63,1.55c1.53,0,2.99-0.3,4.38-0.89s2.58-1.4,3.59-2.4s1.81-2.2,2.4-3.6s0.89-2.85,0.89-4.39c0-2.04-0.5-3.93-1.51-5.65s-2.37-3.1-4.1-4.1s-3.61-1.51-5.65-1.51c-1.99,1-3.56,2.51-4.72,4.55S8.58,11.99,8.58,14.43z\"}}]})(props);\r\n}\r\nexport const WiMoonrise = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.8,14.86c0-0.98,0.19-1.92,0.58-2.82c0.38-0.9,0.9-1.67,1.55-2.32c0.65-0.65,1.43-1.17,2.32-1.56s1.84-0.58,2.83-0.58h1.17c0.16,0.04,0.24,0.14,0.24,0.28l0.04,0.9c0.04,1.3,0.51,2.41,1.41,3.33s2,1.41,3.28,1.46l0.85,0.07c0.16,0,0.23,0.08,0.23,0.23v1.01c0.01,1.03-0.19,2-0.58,2.92h-2.05c0.51-0.74,0.83-1.59,0.97-2.53c-1.67-0.35-3.02-1.07-4.03-2.16s-1.59-2.37-1.75-3.83c-0.97,0.05-1.85,0.35-2.66,0.9c-0.8,0.55-1.43,1.24-1.87,2.08c-0.44,0.84-0.66,1.72-0.66,2.63c0,1.07,0.28,2.04,0.83,2.92H8.4C8,16.85,7.8,15.88,7.8,14.86zM8.09,20.87c0-0.29,0.09-0.52,0.28-0.68c0.18-0.18,0.41-0.26,0.69-0.26h2.63L14.8,17c0.1-0.08,0.22-0.08,0.35,0l3.16,2.92h2.77c0.27,0,0.5,0.09,0.69,0.28c0.19,0.18,0.29,0.41,0.29,0.67c0,0.27-0.1,0.5-0.29,0.69c-0.19,0.19-0.42,0.29-0.69,0.29h-3.38c-0.1,0-0.2-0.02-0.29-0.07l-2.41-2.27l-2.39,2.27c-0.08,0.05-0.17,0.07-0.28,0.07H9.06c-0.27,0-0.5-0.1-0.69-0.29S8.09,21.14,8.09,20.87z\"}}]})(props);\r\n}\r\nexport const WiMoonset = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.74,14.86c0-0.98,0.19-1.92,0.58-2.82c0.38-0.9,0.9-1.67,1.55-2.32c0.65-0.65,1.43-1.17,2.32-1.56c0.9-0.39,1.84-0.58,2.83-0.58h1.17c0.16,0.04,0.24,0.14,0.24,0.28l0.05,0.9c0.02,0.64,0.15,1.25,0.4,1.83s0.58,1.08,1,1.5c0.42,0.43,0.91,0.77,1.48,1.03c0.57,0.26,1.17,0.4,1.8,0.43l0.85,0.07c0.16,0,0.24,0.08,0.24,0.23v1.01c0.01,1.01-0.19,1.98-0.59,2.92h-2.05c0.51-0.74,0.83-1.59,0.97-2.53c-1.68-0.35-3.02-1.07-4.03-2.16s-1.59-2.37-1.75-3.83c-0.97,0.05-1.85,0.35-2.66,0.9c-0.8,0.55-1.42,1.24-1.87,2.08c-0.44,0.84-0.66,1.72-0.66,2.63c0,1.07,0.28,2.04,0.83,2.92H8.34C7.94,16.85,7.74,15.88,7.74,14.86zM7.99,20.89c0-0.26,0.1-0.49,0.3-0.69c0.18-0.18,0.41-0.27,0.68-0.27h3.22c0.11,0,0.2,0.02,0.28,0.08l2.35,2.22L17.21,20c0.07-0.05,0.17-0.08,0.29-0.08h3.3c0.27,0,0.5,0.09,0.69,0.28c0.19,0.19,0.29,0.42,0.29,0.68c0,0.27-0.1,0.5-0.29,0.69c-0.19,0.19-0.42,0.29-0.69,0.29h-2.68l-3.13,2.84c-0.12,0.09-0.24,0.09-0.34,0l-3.08-2.84h-2.6c-0.27,0-0.5-0.1-0.69-0.29C8.09,21.39,7.99,21.16,7.99,20.89z\"}}]})(props);\r\n}\r\nexport const WiNA = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.87,18.23h1.94v-3.64h0.02l2.05,3.64h1.99v-6.66h-1.94v3.55h-0.02l-1.94-3.55h-2.1V18.23zM13.39,18.38h1.43l2.61-6.97h-1.42L13.39,18.38zM16.26,18.23h2.07l0.29-0.95h2.12l0.28,0.95h2.13l-2.43-6.66h-2.01L16.26,18.23zM19.07,15.84l0.64-2.04h0.03l0.6,2.04H19.07z\"}}]})(props);\r\n}\r\nexport const WiNightAltCloudyGusts = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.98,21.02c0,0.23,0.09,0.43,0.27,0.6c0.17,0.17,0.37,0.25,0.61,0.25H9.6c0.26,0,0.49,0.1,0.69,0.29c0.2,0.19,0.3,0.42,0.3,0.68c0,0.27-0.1,0.5-0.3,0.69s-0.43,0.29-0.69,0.29c-0.26,0-0.48-0.1-0.68-0.3c-0.18-0.16-0.38-0.24-0.61-0.24c-0.24,0-0.44,0.08-0.6,0.24c-0.16,0.16-0.24,0.36-0.24,0.6c0,0.22,0.08,0.42,0.24,0.6c0.52,0.53,1.16,0.79,1.89,0.79s1.37-0.26,1.89-0.78c0.52-0.52,0.78-1.15,0.78-1.89c0-0.74-0.26-1.37-0.78-1.89s-1.15-0.79-1.89-0.79H3.86c-0.24,0-0.44,0.09-0.62,0.26C3.07,20.59,2.98,20.79,2.98,21.02zM2.98,18c0,0.22,0.09,0.41,0.27,0.58c0.17,0.16,0.38,0.24,0.61,0.24h10.85c0.74,0,1.37-0.26,1.89-0.78c0.52-0.52,0.78-1.15,0.78-1.88c0-0.74-0.26-1.36-0.78-1.88c-0.52-0.52-1.15-0.77-1.89-0.77c-0.76,0-1.39,0.25-1.89,0.76c-0.15,0.16-0.23,0.36-0.23,0.61c0,0.25,0.08,0.45,0.23,0.6c0.15,0.15,0.35,0.23,0.59,0.23s0.44-0.07,0.62-0.23c0.19-0.19,0.42-0.28,0.68-0.28c0.26,0,0.48,0.09,0.67,0.28c0.19,0.19,0.29,0.42,0.29,0.68c0,0.26-0.1,0.49-0.29,0.68c-0.19,0.19-0.42,0.29-0.67,0.29H3.86c-0.24,0-0.44,0.09-0.62,0.26C3.07,17.57,2.98,17.77,2.98,18zM5.5,15.65c0,0.09,0.05,0.13,0.16,0.13H7.1c0.08,0,0.15-0.05,0.22-0.15c0.22-0.54,0.57-0.99,1.05-1.35c0.47-0.35,1-0.55,1.58-0.6l0.52-0.07c0.12,0,0.19-0.06,0.19-0.17l0.08-0.52c0.11-1.08,0.57-1.99,1.38-2.71c0.81-0.73,1.77-1.09,2.86-1.09s2.05,0.36,2.85,1.09c0.81,0.72,1.27,1.63,1.38,2.72l0.07,0.58c0,0.12,0.06,0.18,0.19,0.18h1.62c0.91,0,1.68,0.32,2.32,0.95c0.64,0.63,0.96,1.39,0.96,2.28c0,0.89-0.32,1.65-0.96,2.29c-0.64,0.64-1.41,0.96-2.31,0.96h-6.91c-0.11,0-0.17,0.06-0.17,0.18v1.37c0,0.11,0.06,0.17,0.17,0.17h6.91c0.89,0,1.72-0.22,2.48-0.67s1.36-1.05,1.8-1.81s0.67-1.59,0.67-2.48c0-0.88-0.23-1.71-0.68-2.48c0.73-0.71,1.23-1.57,1.51-2.58L27,11.18c0.02-0.02,0.03-0.04,0.03-0.07c0-0.04-0.05-0.1-0.14-0.16l-0.6-0.21c-0.84-0.26-1.48-0.71-1.92-1.36c-0.44-0.65-0.66-1.32-0.66-2.02c0-0.24,0.03-0.51,0.09-0.79l0.13-0.62c0.02-0.1-0.02-0.18-0.13-0.22l-0.8-0.24c-0.44-0.11-0.85-0.16-1.25-0.16c-0.37,0-0.74,0.04-1.12,0.13c-0.38,0.09-0.77,0.22-1.18,0.41c-0.4,0.18-0.8,0.45-1.18,0.8c-0.38,0.35-0.72,0.75-1,1.22c-0.71-0.3-1.48-0.45-2.32-0.45c-1.41,0-2.66,0.44-3.75,1.31s-1.77,1.99-2.07,3.35c-0.86,0.2-1.61,0.61-2.27,1.23c-0.66,0.62-1.11,1.35-1.36,2.2v0.03C5.51,15.58,5.5,15.61,5.5,15.65zM18.73,8.76c0.31-0.55,0.74-0.97,1.29-1.26c0.55-0.29,1.12-0.44,1.71-0.44c0.14,0,0.24,0,0.31,0.01c-0.01,0.09-0.02,0.21-0.02,0.36c0,0.94,0.26,1.85,0.79,2.71c0.52,0.86,1.25,1.51,2.17,1.94c-0.16,0.38-0.41,0.72-0.75,1.03c-0.89-0.76-1.94-1.14-3.16-1.14h-0.33C20.48,10.71,19.81,9.64,18.73,8.76z\"}}]})(props);\r\n}\r\nexport const WiNightAltCloudyHigh = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.57,13.43c0-1.15,0.36-2.18,1.08-3.08s1.63-1.48,2.73-1.74C7.7,7.24,8.4,6.12,9.5,5.24s2.35-1.31,3.76-1.31c1.38,0,2.61,0.43,3.69,1.28s1.78,1.95,2.1,3.29h0.33c0.9,0,1.73,0.22,2.49,0.65c0.76,0.43,1.37,1.03,1.81,1.79c0.44,0.76,0.67,1.58,0.67,2.48c0,1.15-0.35,2.18-1.06,3.08c0.64,0.55,1.4,0.84,2.26,0.87l0.66,0.06c0.12,0,0.18,0.06,0.18,0.19v0.77c0.01,1.01-0.24,1.95-0.73,2.8c-0.49,0.86-1.17,1.53-2.02,2.03c-0.85,0.5-1.78,0.75-2.79,0.75c-0.77,0-1.5-0.15-2.19-0.44c-0.69-0.29-1.28-0.69-1.78-1.19c-0.49-0.5-0.89-1.09-1.18-1.78c-0.29-0.69-0.44-1.41-0.44-2.17H8.37c-1.34-0.06-2.47-0.57-3.4-1.53S3.57,14.76,3.57,13.43zM5.28,13.43c0,0.87,0.3,1.62,0.9,2.26s1.33,0.98,2.19,1.02h11.19c0.86-0.04,1.59-0.38,2.19-1.02c0.6-0.64,0.9-1.39,0.9-2.26c0-0.88-0.32-1.63-0.97-2.28c-0.65-0.64-1.42-0.97-2.31-0.97h-1.62c-0.11,0-0.17-0.06-0.17-0.17l-0.07-0.58c-0.11-1.08-0.58-1.99-1.4-2.71s-1.77-1.09-2.86-1.09c-1.1,0-2.05,0.36-2.86,1.09S9.13,8.35,9.03,9.43l-0.07,0.58c0,0.11-0.07,0.17-0.2,0.17H8.23c-0.84,0.1-1.54,0.46-2.1,1.07S5.28,12.59,5.28,13.43zM16.71,18.39c0,0.79,0.2,1.52,0.6,2.17c0.4,0.65,0.91,1.15,1.54,1.5c0.63,0.35,1.29,0.52,1.99,0.52c0.62,0,1.23-0.15,1.82-0.45c0.6-0.3,1.12-0.75,1.58-1.36s0.75-1.31,0.86-2.1c-1.08-0.22-1.98-0.65-2.72-1.3c-0.84,0.65-1.78,0.99-2.82,1.01H16.71z\"}}]})(props);\r\n}\r\nexport const WiNightAltCloudyWindy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.35,21.05c0,0.24,0.08,0.43,0.25,0.59c0.17,0.16,0.38,0.23,0.63,0.23h9.4c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.25-0.08-0.45-0.23-0.61c-0.16-0.16-0.35-0.24-0.59-0.24h-9.4c-0.25,0-0.46,0.08-0.63,0.24S2.35,20.8,2.35,21.05zM4.98,18c0,0.24,0.09,0.44,0.26,0.6c0.16,0.17,0.36,0.25,0.6,0.25h9.42c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.6c0-0.23-0.08-0.43-0.23-0.59s-0.35-0.24-0.59-0.24H5.85c-0.24,0-0.44,0.08-0.61,0.24C5.07,17.57,4.98,17.77,4.98,18zM6.02,15.66c0,0.09,0.06,0.14,0.18,0.14h1.43c0.09,0,0.16-0.05,0.22-0.14c0.23-0.54,0.57-0.99,1.04-1.35c0.47-0.36,0.99-0.56,1.58-0.6l0.55-0.07c0.12,0,0.18-0.06,0.18-0.17l0.07-0.52c0.11-1.09,0.57-2,1.38-2.72c0.82-0.73,1.77-1.09,2.87-1.09c1.09,0,2.04,0.36,2.84,1.08c0.8,0.72,1.27,1.62,1.41,2.71l0.08,0.58c0,0.11,0.06,0.17,0.18,0.17h1.61c0.91,0,1.68,0.32,2.32,0.96c0.64,0.64,0.96,1.41,0.96,2.31c0,0.88-0.32,1.65-0.97,2.29c-0.65,0.65-1.41,0.97-2.3,0.97h-6.91c-0.11,0-0.17,0.06-0.17,0.17v1.34c0,0.11,0.06,0.17,0.17,0.17h6.91c0.9,0,1.73-0.22,2.49-0.66c0.76-0.44,1.37-1.04,1.81-1.8c0.44-0.76,0.67-1.59,0.67-2.49s-0.22-1.72-0.65-2.47c0.72-0.64,1.22-1.5,1.51-2.58l0.18-0.68c0.01-0.01,0.01-0.03,0.01-0.07c0-0.08-0.05-0.13-0.15-0.16l-0.62-0.22c-0.44-0.13-0.83-0.32-1.16-0.57c-0.34-0.25-0.6-0.53-0.8-0.84c-0.2-0.31-0.34-0.62-0.44-0.94c-0.1-0.32-0.15-0.63-0.15-0.95c0-0.24,0.04-0.53,0.11-0.87l0.13-0.61c0.04-0.09,0-0.17-0.13-0.23L23.62,5.5c-0.44-0.11-0.85-0.16-1.25-0.16c-0.38,0-0.75,0.04-1.13,0.13s-0.77,0.22-1.18,0.41c-0.41,0.18-0.8,0.45-1.18,0.8c-0.38,0.35-0.71,0.75-0.99,1.22c-0.77-0.32-1.57-0.48-2.37-0.48c-1.41,0-2.66,0.44-3.75,1.32s-1.78,2-2.08,3.38c-0.87,0.2-1.63,0.61-2.28,1.22c-0.65,0.62-1.11,1.35-1.36,2.21v0.03C6.03,15.59,6.02,15.62,6.02,15.66zM6.75,24.15c0,0.24,0.08,0.44,0.25,0.6C7.16,24.92,7.36,25,7.6,25h9.43c0.24,0,0.44-0.08,0.61-0.25c0.17-0.17,0.25-0.37,0.25-0.6c0-0.23-0.08-0.43-0.25-0.59c-0.17-0.16-0.37-0.24-0.61-0.24H7.6c-0.24,0-0.44,0.08-0.6,0.24C6.83,23.72,6.75,23.92,6.75,24.15zM19.33,8.78c0.34-0.55,0.79-0.98,1.35-1.28c0.55-0.3,1.12-0.45,1.7-0.44c0.11,0,0.2,0,0.25,0.01v0.24c0,0.97,0.26,1.9,0.79,2.79c0.53,0.88,1.25,1.55,2.17,1.98c-0.17,0.4-0.43,0.76-0.76,1.07c-0.88-0.79-1.95-1.18-3.2-1.18h-0.32C21.06,10.77,20.4,9.71,19.33,8.78z\"}}]})(props);\r\n}\r\nexport const WiNightAltCloudy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.14,16.9c0-1.16,0.35-2.18,1.06-3.08s1.62-1.47,2.74-1.72c0.23-1.03,0.7-1.93,1.4-2.7c0.7-0.77,1.55-1.32,2.53-1.65c0.62-0.21,1.26-0.32,1.93-0.32c0.81,0,1.6,0.16,2.35,0.48c0.28-0.47,0.61-0.88,0.99-1.22c0.38-0.34,0.77-0.61,1.17-0.79c0.4-0.18,0.8-0.32,1.18-0.41s0.76-0.13,1.12-0.13c0.38,0,0.79,0.05,1.23,0.16l0.82,0.25c0.14,0.06,0.18,0.13,0.14,0.22l-0.14,0.6c-0.07,0.31-0.1,0.6-0.1,0.86c0,0.31,0.05,0.63,0.15,0.95c0.1,0.32,0.24,0.63,0.44,0.94c0.19,0.31,0.46,0.58,0.8,0.83c0.34,0.25,0.72,0.44,1.15,0.57l0.62,0.22c0.1,0.03,0.15,0.08,0.15,0.16c0,0.02-0.01,0.04-0.02,0.07l-0.18,0.67c-0.27,1.08-0.78,1.93-1.5,2.57c0.4,0.7,0.62,1.45,0.65,2.24c0.01,0.05,0.01,0.12,0.01,0.23c0,0.89-0.22,1.72-0.67,2.48c-0.44,0.76-1.05,1.36-1.8,1.8c-0.76,0.44-1.59,0.67-2.48,0.67H9.07c-0.89,0-1.72-0.22-2.48-0.67s-1.35-1.05-1.79-1.8S4.14,17.8,4.14,16.9zM5.85,16.9c0,0.89,0.32,1.66,0.96,2.31c0.64,0.65,1.39,0.98,2.26,0.98h10.81c0.89,0,1.65-0.32,2.28-0.97s0.95-1.42,0.95-2.32c0-0.88-0.32-1.63-0.96-2.26c-0.64-0.63-1.4-0.95-2.28-0.95h-1.78l-0.1-0.75c-0.1-1.01-0.52-1.88-1.26-2.59s-1.62-1.11-2.63-1.2c-0.03,0-0.08,0-0.15-0.01c-0.07-0.01-0.11-0.01-0.15-0.01c-0.51,0-1.02,0.1-1.54,0.29V9.4c-0.73,0.28-1.35,0.74-1.84,1.37c-0.5,0.63-0.8,1.35-0.9,2.17l-0.07,0.72l-0.68,0.03c-0.84,0.1-1.54,0.45-2.1,1.06S5.85,16.07,5.85,16.9zM17.6,8.79c1.06,0.91,1.72,1.97,1.97,3.18h0.32c1.24,0,2.3,0.39,3.17,1.18c0.33-0.31,0.58-0.67,0.76-1.07c-0.91-0.43-1.63-1.09-2.16-1.97c-0.52-0.88-0.79-1.81-0.79-2.78V7.09c-0.05-0.01-0.13-0.01-0.24-0.01c-0.58-0.01-1.15,0.13-1.7,0.44C18.38,7.82,17.93,8.24,17.6,8.79z\"}}]})(props);\r\n}\r\nexport const WiNightAltHail = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.1,16.91c0,1.33,0.46,2.48,1.39,3.43s2.06,1.47,3.4,1.53c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.86-0.04-1.58-0.38-2.18-1.02s-0.9-1.39-0.9-2.26c0-0.83,0.28-1.55,0.84-2.17c0.56-0.61,1.26-0.97,2.1-1.07l0.53-0.03c0.13,0,0.2-0.06,0.2-0.18l0.07-0.54c0.11-1.08,0.56-1.99,1.37-2.72c0.81-0.73,1.76-1.1,2.85-1.1c1.08,0,2.03,0.37,2.85,1.1c0.82,0.73,1.28,1.64,1.4,2.72l0.08,0.58c0,0.11,0.06,0.17,0.17,0.17h1.61c0.89,0,1.66,0.32,2.31,0.96c0.65,0.64,0.98,1.4,0.98,2.27c0,0.87-0.3,1.62-0.9,2.26c-0.6,0.64-1.33,0.98-2.18,1.02c-0.13,0-0.2,0.06-0.2,0.17v1.34c0,0.11,0.07,0.17,0.2,0.17c1.33-0.04,2.46-0.55,3.38-1.51c0.93-0.96,1.39-2.11,1.39-3.45c0-0.86-0.22-1.66-0.65-2.41c0.79-0.74,1.3-1.62,1.55-2.62l0.13-0.68c0.02-0.01,0.03-0.03,0.03-0.07c0-0.07-0.05-0.13-0.16-0.16l-0.56-0.17c-0.57-0.17-1.05-0.45-1.46-0.85c-0.4-0.4-0.69-0.81-0.86-1.25c-0.17-0.43-0.25-0.87-0.25-1.32c-0.01-0.24,0.02-0.51,0.08-0.79l0.14-0.58c0.03-0.09-0.02-0.16-0.14-0.22l-0.8-0.25c-0.42-0.12-0.86-0.19-1.31-0.19c-0.35,0-0.71,0.04-1.08,0.13s-0.76,0.22-1.17,0.4c-0.41,0.18-0.8,0.45-1.19,0.8c-0.38,0.35-0.72,0.75-1,1.22c-0.75-0.32-1.54-0.49-2.37-0.49c-1.41,0-2.67,0.44-3.76,1.31s-1.79,1.99-2.1,3.36c-1.11,0.26-2.02,0.83-2.74,1.73S4.1,15.76,4.1,16.91zM9.58,23.94c0.09,0.21,0.24,0.36,0.46,0.45c0.19,0.1,0.4,0.11,0.62,0.02c0.22-0.08,0.37-0.23,0.45-0.45c0.1-0.22,0.11-0.43,0.02-0.65c-0.08-0.21-0.23-0.36-0.45-0.44c-0.2-0.1-0.41-0.11-0.62-0.02c-0.21,0.09-0.37,0.24-0.47,0.46C9.5,23.48,9.49,23.69,9.58,23.94zM10.2,21.11c0,0.15,0.05,0.3,0.16,0.45s0.26,0.26,0.46,0.32c0.26,0.1,0.48,0.1,0.67,0c0.19-0.1,0.32-0.29,0.4-0.57l0.88-3.21c0.07-0.25,0.04-0.47-0.08-0.67c-0.12-0.2-0.3-0.32-0.54-0.37c-0.22-0.07-0.43-0.05-0.63,0.07c-0.2,0.11-0.33,0.28-0.4,0.51l-0.88,3.22c0,0.02-0.01,0.06-0.02,0.12C10.21,21.03,10.2,21.08,10.2,21.11zM12.07,26.71c0,0.12,0.02,0.22,0.06,0.29c0.09,0.22,0.24,0.37,0.45,0.45c0.09,0.05,0.2,0.07,0.33,0.07c0.06,0,0.16-0.02,0.3-0.06c0.23-0.08,0.39-0.23,0.48-0.45c0.1-0.22,0.1-0.44,0-0.66c-0.1-0.22-0.25-0.37-0.45-0.46c-0.2-0.09-0.4-0.09-0.61,0c-0.19,0.08-0.33,0.2-0.42,0.36C12.11,26.42,12.07,26.57,12.07,26.71zM12.81,24.06c0,0.38,0.21,0.64,0.64,0.78c0.09,0.03,0.17,0.05,0.23,0.05c0.11,0,0.23-0.03,0.35-0.08c0.23-0.08,0.39-0.27,0.47-0.57l1.65-6.12c0.06-0.24,0.04-0.45-0.07-0.65c-0.11-0.19-0.28-0.32-0.5-0.39c-0.23-0.07-0.45-0.05-0.65,0.07c-0.2,0.11-0.34,0.28-0.4,0.51l-1.68,6.17C12.82,23.92,12.81,24,12.81,24.06zM16.25,23.64c0,0.13,0.02,0.23,0.07,0.31c0.08,0.2,0.23,0.35,0.44,0.44c0.12,0.05,0.23,0.08,0.35,0.08c0.06,0,0.16-0.02,0.3-0.06c0.22-0.09,0.37-0.23,0.45-0.44c0.08-0.22,0.08-0.43,0-0.63c-0.08-0.2-0.22-0.35-0.42-0.45c-0.22-0.1-0.44-0.11-0.65-0.02c-0.22,0.08-0.37,0.24-0.47,0.46C16.27,23.41,16.25,23.51,16.25,23.64zM16.97,21.08c0,0.16,0.05,0.32,0.15,0.46c0.1,0.14,0.25,0.25,0.45,0.31c0.17,0.02,0.26,0.03,0.27,0.03c0.41,0,0.66-0.2,0.77-0.61l0.87-3.17c0.06-0.24,0.04-0.45-0.07-0.65c-0.11-0.19-0.28-0.32-0.5-0.39c-0.23-0.07-0.45-0.05-0.64,0.07c-0.2,0.11-0.33,0.28-0.4,0.51L17,20.81C16.98,20.9,16.97,20.99,16.97,21.08zM17.62,8.83c0.31-0.57,0.75-1.01,1.3-1.31c0.55-0.3,1.14-0.45,1.76-0.44c0.11,0,0.2,0.01,0.25,0.02v0.31c0,0.98,0.26,1.89,0.78,2.75c0.52,0.86,1.25,1.51,2.17,1.95c-0.19,0.44-0.44,0.79-0.75,1.07C22.25,12.39,21.17,12,19.88,12h-0.32C19.3,10.75,18.66,9.69,17.62,8.83z\"}}]})(props);\r\n}\r\nexport const WiNightAltLightning = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.12,16.91c0,1.33,0.46,2.48,1.39,3.43s2.06,1.47,3.4,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.37c0-0.12-0.06-0.18-0.17-0.18c-0.87-0.07-1.6-0.41-2.19-1.04c-0.59-0.62-0.89-1.36-0.89-2.21c0-0.84,0.28-1.57,0.85-2.19c0.57-0.62,1.26-0.97,2.1-1.04l0.53-0.07c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.11-1.08,0.56-1.99,1.37-2.71c0.81-0.73,1.76-1.09,2.85-1.09c1.09,0,2.04,0.36,2.85,1.09c0.81,0.72,1.27,1.63,1.39,2.72l0.07,0.58c0,0.12,0.06,0.18,0.18,0.18h1.61c0.91,0,1.68,0.32,2.32,0.95c0.64,0.63,0.96,1.39,0.96,2.28c0,0.85-0.3,1.59-0.89,2.21c-0.59,0.62-1.32,0.97-2.19,1.04c-0.13,0-0.2,0.06-0.2,0.18v1.37c0,0.11,0.07,0.17,0.2,0.17c1.33-0.04,2.46-0.55,3.38-1.51s1.38-2.11,1.38-3.45c0-0.89-0.23-1.72-0.68-2.48c0.8-0.72,1.32-1.58,1.55-2.58l0.15-0.72c0.01-0.01,0.01-0.03,0.01-0.07c0-0.07-0.05-0.13-0.16-0.16l-0.58-0.17c-0.57-0.16-1.05-0.44-1.45-0.82c-0.4-0.39-0.68-0.8-0.85-1.23c-0.17-0.43-0.25-0.87-0.25-1.32c0-0.24,0.03-0.51,0.09-0.79l0.14-0.62c0.03-0.09-0.02-0.17-0.14-0.22l-0.79-0.24c-0.44-0.11-0.85-0.16-1.25-0.16c-0.36,0-0.73,0.04-1.12,0.13c-0.38,0.09-0.78,0.22-1.19,0.41c-0.41,0.18-0.81,0.45-1.2,0.8c-0.39,0.35-0.72,0.75-1,1.22c-0.71-0.3-1.48-0.45-2.33-0.45c-1.41,0-2.66,0.44-3.75,1.31c-1.09,0.87-1.79,1.99-2.1,3.35c-1.1,0.26-2.01,0.84-2.73,1.74C4.48,14.74,4.12,15.76,4.12,16.91zM11.79,21.56c-0.05,0.14,0,0.22,0.14,0.22h2.16l-1.31,4.14h0.3l4.17-5.59c0.04-0.04,0.05-0.09,0.03-0.14c-0.02-0.05-0.06-0.07-0.13-0.07h-2.2l2.31-4.21c0.07-0.14,0.02-0.22-0.14-0.22h-2.94c-0.08,0-0.15,0.05-0.22,0.14L11.79,21.56zM17.6,8.81c0.33-0.57,0.77-1,1.33-1.3c0.55-0.3,1.13-0.45,1.72-0.45c0.13,0,0.22,0.01,0.27,0.02v0.31c0,0.96,0.26,1.87,0.78,2.73c0.52,0.86,1.24,1.51,2.17,1.96c-0.16,0.37-0.41,0.73-0.75,1.07c-0.92-0.79-1.99-1.18-3.22-1.18h-0.32C19.29,10.71,18.63,9.66,17.6,8.81z\"}}]})(props);\r\n}\r\nexport const WiNightAltPartlyCloudy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.77,19.65c0-0.79,0.23-1.48,0.68-2.09c0.45-0.61,1.06-1.03,1.81-1.27c0.32-1.09,0.98-1.92,1.99-2.49v-0.35c0-1.46,0.46-2.74,1.38-3.85s2.09-1.8,3.5-2.06c0.36-0.06,0.72-0.09,1.08-0.09h0.03c0.21,0,0.44,0.02,0.7,0.05c0.26,0.02,0.5,0.06,0.73,0.11l0.91,0.28c0.13,0.07,0.18,0.16,0.16,0.26l-0.13,0.7C19.54,9.18,19.5,9.5,19.5,9.82c0,0.35,0.05,0.71,0.16,1.07c0.11,0.37,0.27,0.72,0.5,1.08s0.52,0.68,0.91,0.97c0.38,0.29,0.83,0.51,1.33,0.66l0.71,0.21c0.11,0.03,0.17,0.08,0.17,0.18c0,0.04,0,0.06-0.01,0.07l-0.18,0.68c-0.06,0.24-0.13,0.49-0.22,0.73c-0.15,0.44-0.38,0.89-0.7,1.37c0-0.01,0-0.01-0.01-0.01c-0.44,0.63-0.98,1.16-1.64,1.58c0.14,0.34,0.21,0.75,0.21,1.24c0,0.99-0.35,1.83-1.04,2.53c-0.69,0.7-1.52,1.05-2.49,1.05h-6.85c-0.97,0-1.81-0.35-2.52-1.06C7.13,21.46,6.77,20.62,6.77,19.65zM8.75,19.65c0,0.45,0.15,0.83,0.46,1.15s0.69,0.47,1.14,0.47h6.85c0.43,0,0.8-0.16,1.12-0.48c0.32-0.32,0.47-0.7,0.47-1.14c0-0.43-0.16-0.8-0.47-1.12s-0.69-0.47-1.12-0.47H15.9c-0.11,0-0.19-0.07-0.25-0.23l-0.08-0.64c-0.07-0.58-0.32-1.06-0.75-1.44s-0.93-0.58-1.51-0.58c-0.57,0-1.06,0.19-1.48,0.58c-0.42,0.39-0.66,0.87-0.73,1.44l-0.1,0.55c0,0.15-0.06,0.22-0.19,0.22l-0.63,0.08c-0.41,0.04-0.75,0.21-1.02,0.51C8.89,18.87,8.75,19.23,8.75,19.65zM13.18,13.25h0.12c0.93,0,1.75,0.26,2.49,0.78c0.73,0.52,1.25,1.22,1.54,2.1c0.77,0,1.45,0.24,2.03,0.72c0.69-0.43,1.2-1.02,1.53-1.75c-1.04-0.52-1.85-1.27-2.43-2.25s-0.88-2.01-0.88-3.11V9.39c-0.03,0-0.07,0-0.12,0c-0.05,0-0.09,0-0.12,0c-0.61,0-1.2,0.13-1.77,0.39c-0.57,0.26-1.05,0.64-1.44,1.12l-0.03-0.02C13.55,11.56,13.25,12.35,13.18,13.25z\"}}]})(props);\r\n}\r\nexport const WiNightAltRainMix = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.07,16.93c0,1.33,0.47,2.47,1.4,3.43s2.07,1.47,3.4,1.51c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.85-0.04-1.58-0.39-2.18-1.03s-0.91-1.39-0.91-2.23c0-0.85,0.28-1.59,0.85-2.21c0.57-0.62,1.27-0.97,2.1-1.04l0.53-0.07c0.13,0,0.2-0.06,0.2-0.18l0.07-0.51c0.11-1.1,0.56-2.02,1.37-2.75c0.81-0.73,1.76-1.1,2.86-1.1c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.29,1.64,1.4,2.72l0.07,0.57c0,0.12,0.06,0.19,0.17,0.19h1.62c0.91,0,1.68,0.32,2.33,0.97c0.65,0.64,0.97,1.41,0.97,2.31c0,0.55-0.14,1.07-0.41,1.56s-0.65,0.89-1.13,1.2c-0.48,0.31-1,0.48-1.56,0.51c-0.13,0-0.2,0.06-0.2,0.17v1.34c0,0.11,0.07,0.17,0.2,0.17c0.88-0.02,1.69-0.26,2.42-0.71c0.73-0.45,1.31-1.05,1.73-1.8c0.42-0.75,0.63-1.56,0.63-2.43c0-0.88-0.23-1.72-0.68-2.51c0.83-0.74,1.36-1.62,1.58-2.62l0.14-0.68c0.02-0.02,0.03-0.04,0.03-0.07c0-0.06-0.06-0.11-0.17-0.16l-0.55-0.18c-0.57-0.17-1.07-0.45-1.47-0.85c-0.41-0.4-0.7-0.81-0.87-1.25c-0.17-0.43-0.26-0.86-0.26-1.29c-0.02-0.21,0.01-0.49,0.09-0.82l0.13-0.58c0.04-0.1,0-0.18-0.13-0.23l-0.8-0.24c-0.41-0.11-0.84-0.17-1.29-0.17c-0.36,0-0.74,0.04-1.12,0.13c-0.38,0.09-0.78,0.22-1.19,0.41s-0.81,0.46-1.2,0.81c-0.39,0.35-0.72,0.76-1,1.23c-0.81-0.31-1.6-0.46-2.35-0.46c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.37c-1.12,0.29-2.04,0.88-2.75,1.77C4.42,14.74,4.07,15.77,4.07,16.93zM9.48,23.98c0,0.17,0.05,0.34,0.16,0.51c0.11,0.17,0.27,0.28,0.47,0.35c0.23,0.07,0.44,0.06,0.64-0.04s0.32-0.28,0.39-0.56l0.14-0.61c0.05-0.23,0.02-0.44-0.09-0.63c-0.11-0.2-0.28-0.33-0.52-0.4c-0.23-0.07-0.44-0.04-0.64,0.08s-0.34,0.3-0.4,0.53L9.5,23.79C9.48,23.83,9.48,23.89,9.48,23.98zM10.24,21.08c0,0.21,0.08,0.4,0.25,0.57c0.16,0.17,0.34,0.25,0.56,0.25c0.24,0,0.44-0.08,0.6-0.24c0.16-0.16,0.24-0.35,0.24-0.59c0-0.23-0.08-0.43-0.24-0.59c-0.16-0.16-0.36-0.24-0.6-0.24c-0.23,0-0.43,0.08-0.58,0.23S10.24,20.85,10.24,21.08zM10.85,18.81c-0.01,0.16,0.03,0.31,0.14,0.45c0.1,0.15,0.26,0.25,0.48,0.32c0.21,0.06,0.41,0.04,0.62-0.07c0.21-0.11,0.34-0.28,0.41-0.51l0.28-0.9c0.07-0.24,0.05-0.46-0.07-0.65c-0.12-0.19-0.3-0.32-0.54-0.39c-0.22-0.07-0.43-0.05-0.63,0.07c-0.2,0.11-0.34,0.28-0.41,0.5l-0.24,0.92c0,0.02-0.01,0.06-0.02,0.12C10.85,18.72,10.85,18.77,10.85,18.81zM12.01,27.1c0,0.18,0.05,0.34,0.15,0.5c0.1,0.16,0.26,0.27,0.48,0.33c0.08,0.02,0.17,0.03,0.25,0.03c0.43,0,0.69-0.2,0.79-0.61l0.14-0.59c0.06-0.26,0.03-0.48-0.08-0.68s-0.29-0.32-0.52-0.37c-0.21-0.07-0.42-0.05-0.63,0.07c-0.21,0.12-0.34,0.29-0.41,0.51l-0.14,0.59C12.02,26.97,12.01,27.04,12.01,27.1zM12.79,24.2c0,0.22,0.08,0.41,0.25,0.58c0.16,0.16,0.35,0.24,0.57,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.23-0.08-0.42-0.23-0.58s-0.35-0.23-0.59-0.23s-0.43,0.08-0.59,0.23C12.87,23.77,12.79,23.97,12.79,24.2zM13.42,21.93c-0.01,0.15,0.03,0.31,0.13,0.47s0.25,0.26,0.45,0.3c0.23,0.06,0.44,0.04,0.64-0.06c0.19-0.1,0.33-0.29,0.41-0.56l0.27-0.9c0.07-0.22,0.05-0.43-0.07-0.63c-0.12-0.2-0.29-0.33-0.53-0.4c-0.22-0.07-0.43-0.04-0.64,0.08s-0.34,0.3-0.41,0.53l-0.22,0.9C13.43,21.74,13.42,21.83,13.42,21.93zM16.17,24.08c0,0.16,0.05,0.32,0.15,0.48s0.26,0.27,0.46,0.33c0.03,0,0.08,0.01,0.14,0.02c0.06,0.01,0.1,0.02,0.14,0.02c0.41,0,0.66-0.22,0.76-0.66l0.14-0.6c0.07-0.21,0.05-0.42-0.07-0.63c-0.11-0.21-0.28-0.34-0.51-0.41c-0.25-0.06-0.48-0.04-0.68,0.08s-0.34,0.29-0.41,0.53l-0.09,0.59c0,0.02-0.01,0.07-0.02,0.12C16.18,24,16.17,24.04,16.17,24.08zM16.91,21.12c0,0.22,0.08,0.42,0.25,0.57c0.15,0.16,0.34,0.24,0.57,0.24c0.24,0,0.43-0.08,0.59-0.23s0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59s-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23S16.91,20.88,16.91,21.12zM17.52,18.81c0,0.17,0.05,0.33,0.16,0.48s0.27,0.26,0.49,0.32c0.02,0,0.06,0.01,0.12,0.02c0.06,0.01,0.11,0.02,0.14,0.02c0.1,0,0.22-0.03,0.36-0.09c0.21-0.11,0.35-0.29,0.41-0.52l0.24-0.9c0.06-0.23,0.04-0.44-0.08-0.63c-0.11-0.2-0.28-0.33-0.51-0.4c-0.23-0.07-0.44-0.05-0.64,0.06s-0.32,0.27-0.39,0.51l-0.28,0.91c0,0.02-0.01,0.06-0.02,0.12C17.53,18.74,17.52,18.78,17.52,18.81zM17.59,8.76c0.32-0.58,0.76-1.02,1.31-1.34c0.56-0.32,1.13-0.47,1.73-0.46c0.09,0,0.19,0.01,0.3,0.03V7.3c-0.01,0.98,0.25,1.9,0.77,2.76c0.53,0.86,1.27,1.5,2.22,1.94c-0.19,0.41-0.46,0.78-0.8,1.11c-0.92-0.76-2-1.14-3.23-1.14h-0.31C19.27,10.66,18.61,9.59,17.59,8.76z\"}}]})(props);\r\n}\r\nexport const WiNightAltRainWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.06,16.93c0,1.12,0.33,2.12,1,3c0.67,0.88,1.52,1.47,2.57,1.77c0.09,0.02,0.17-0.01,0.24-0.08L9,20.22c-0.88,0-1.63-0.32-2.27-0.97c-0.64-0.65-0.96-1.42-0.96-2.32c0-0.84,0.28-1.56,0.84-2.17s1.27-0.95,2.11-1.03l0.5-0.07c0.12,0,0.19-0.06,0.19-0.19l0.08-0.53c0.12-1.09,0.59-2,1.41-2.73c0.81-0.73,1.77-1.1,2.86-1.1c1.09,0,2.04,0.37,2.86,1.1s1.29,1.64,1.41,2.72l0.07,0.58c0,0.11,0.06,0.17,0.18,0.17h1.62c0.88,0,1.64,0.32,2.28,0.96s0.96,1.4,0.96,2.28c0,0.85-0.28,1.59-0.84,2.22s-1.25,0.98-2.07,1.05c-0.45,0.06-0.74,0.15-0.86,0.28l-2.33,2.91c-0.16,0.17-0.22,0.38-0.19,0.63c0.02,0.24,0.13,0.43,0.31,0.59c0.18,0.16,0.37,0.23,0.57,0.23c0.23,0,0.44-0.12,0.64-0.38l2.04-2.59c0.62-0.06,1.2-0.24,1.76-0.52c0.55-0.28,1.03-0.65,1.42-1.08c0.39-0.44,0.71-0.95,0.94-1.53c0.23-0.58,0.35-1.18,0.35-1.81c0-0.87-0.23-1.68-0.68-2.44c0.81-0.74,1.34-1.61,1.58-2.62v-0.09l0.2-0.77l-0.76-0.26c-0.57-0.17-1.06-0.45-1.47-0.83s-0.69-0.8-0.86-1.23c-0.17-0.43-0.26-0.87-0.26-1.31c0-0.26,0.03-0.52,0.08-0.8l0.19-0.78l-0.83-0.23c-0.01,0-0.02,0-0.03-0.01s-0.02-0.02-0.04-0.02s-0.03-0.01-0.04-0.02C21.91,5.5,21.9,5.49,21.9,5.49c-0.44-0.11-0.85-0.16-1.25-0.16c-0.38,0.01-0.76,0.05-1.15,0.14s-0.78,0.22-1.2,0.41c-0.42,0.19-0.82,0.46-1.2,0.81s-0.72,0.76-1,1.24c-0.75-0.33-1.53-0.49-2.34-0.49c-1.41,0-2.67,0.44-3.76,1.31s-1.8,1.99-2.11,3.36c-1.13,0.27-2.05,0.86-2.76,1.75S4.06,15.77,4.06,16.93zM7.77,24.92c0,0.13,0.02,0.23,0.07,0.31c0.09,0.22,0.23,0.37,0.43,0.46c0.22,0.1,0.44,0.11,0.67,0.03c0.23-0.08,0.38-0.23,0.46-0.44c0.1-0.22,0.1-0.44,0.01-0.67c-0.09-0.23-0.24-0.38-0.45-0.45c-0.22-0.1-0.44-0.11-0.66-0.02c-0.22,0.08-0.37,0.24-0.45,0.45C7.79,24.67,7.77,24.79,7.77,24.92zM9.61,22.47v0.11c0.02,0.23,0.13,0.41,0.33,0.55c0.13,0.15,0.31,0.22,0.54,0.22c0.23-0.01,0.45-0.11,0.66-0.32l2.33-2.92c0.14-0.17,0.19-0.38,0.17-0.62c-0.03-0.24-0.12-0.43-0.3-0.58c-0.18-0.14-0.38-0.2-0.63-0.18c-0.24,0.02-0.43,0.14-0.57,0.34l-2.32,2.86C9.68,22.09,9.61,22.27,9.61,22.47zM10.19,27.68c0.09,0.21,0.24,0.36,0.46,0.45c0.11,0.05,0.22,0.08,0.33,0.08c0.06,0,0.16-0.02,0.3-0.06c0.21-0.09,0.36-0.23,0.44-0.44c0.08-0.22,0.08-0.43,0.01-0.65c-0.07-0.21-0.22-0.37-0.44-0.48c-0.22-0.08-0.43-0.08-0.63,0s-0.35,0.23-0.45,0.44C10.1,27.22,10.09,27.43,10.19,27.68zM11.78,25.02v0.08c0.02,0.22,0.13,0.42,0.32,0.58c0.19,0.16,0.38,0.24,0.56,0.24c0.22,0,0.42-0.11,0.6-0.34l4.31-5.36c0.14-0.17,0.21-0.38,0.19-0.62c-0.02-0.24-0.12-0.44-0.29-0.58c-0.2-0.14-0.42-0.2-0.66-0.18c-0.24,0.02-0.43,0.12-0.57,0.3l-4.27,5.36C11.84,24.65,11.78,24.83,11.78,25.02zM15.29,26.13c0,0.11,0.02,0.22,0.07,0.33c0.08,0.23,0.24,0.38,0.47,0.47c0.23,0.09,0.43,0.09,0.61,0.02c0.22-0.09,0.37-0.24,0.46-0.46c0.1-0.22,0.11-0.43,0.03-0.64c-0.08-0.21-0.23-0.36-0.45-0.46c-0.22-0.08-0.44-0.08-0.65,0c-0.22,0.08-0.37,0.22-0.47,0.42C15.31,25.92,15.29,26.03,15.29,26.13zM17.57,8.81c0.31-0.57,0.75-1.01,1.3-1.32c0.55-0.3,1.14-0.45,1.76-0.44c0.12,0,0.21,0,0.26,0.01v0.3c0,0.97,0.27,1.89,0.8,2.75c0.53,0.87,1.26,1.52,2.19,1.96c-0.25,0.47-0.51,0.84-0.79,1.12c-0.89-0.79-1.96-1.18-3.22-1.18h-0.32C19.26,10.74,18.6,9.67,17.57,8.81z\"}}]})(props);\r\n}\r\nexport const WiNightAltRain = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.07,16.9c0,1.33,0.47,2.48,1.4,3.44s2.07,1.47,3.4,1.53c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.86-0.05-1.59-0.39-2.19-1.03c-0.6-0.64-0.9-1.39-0.9-2.26c0-0.83,0.28-1.55,0.85-2.17c0.57-0.62,1.27-0.97,2.1-1.07l0.53-0.04c0.13,0,0.2-0.06,0.2-0.17l0.07-0.54c0.11-1.08,0.57-1.99,1.38-2.72c0.81-0.73,1.77-1.1,2.86-1.1c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.64,1.4,2.72l0.08,0.57c0,0.12,0.06,0.18,0.17,0.18h1.62c0.89,0,1.67,0.32,2.32,0.96c0.65,0.64,0.98,1.4,0.98,2.28c0,0.87-0.3,1.62-0.9,2.26c-0.6,0.64-1.33,0.98-2.19,1.03c-0.14,0-0.21,0.06-0.21,0.17v1.34c0,0.11,0.07,0.17,0.21,0.17c1.33-0.04,2.46-0.55,3.38-1.51c0.93-0.97,1.39-2.12,1.39-3.45c0-0.88-0.23-1.7-0.68-2.46c0.81-0.73,1.33-1.6,1.58-2.62l0.14-0.72c0.01-0.01,0.02-0.03,0.02-0.07c0-0.07-0.05-0.13-0.16-0.16l-0.56-0.18c-0.57-0.16-1.06-0.44-1.46-0.83c-0.41-0.39-0.7-0.8-0.87-1.23c-0.17-0.43-0.26-0.86-0.26-1.28c-0.02-0.22,0.01-0.5,0.08-0.82l0.14-0.61c0.04-0.1,0-0.18-0.14-0.24l-0.79-0.24c-0.45-0.1-0.87-0.15-1.27-0.15c-0.38,0-0.76,0.04-1.14,0.13c-0.39,0.09-0.79,0.22-1.2,0.41c-0.41,0.18-0.81,0.45-1.2,0.8c-0.39,0.35-0.72,0.75-1,1.22c-0.82-0.3-1.6-0.45-2.33-0.45c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.37c-1.11,0.26-2.02,0.83-2.74,1.73C4.43,14.72,4.07,15.75,4.07,16.9zM9.63,23.74c0,0.17,0.05,0.33,0.16,0.49c0.11,0.16,0.27,0.27,0.49,0.33c0.23,0.07,0.45,0.05,0.64-0.04c0.2-0.1,0.33-0.28,0.4-0.56l1.43-5.87c0.06-0.25,0.03-0.48-0.08-0.67c-0.12-0.2-0.29-0.32-0.52-0.37c-0.22-0.07-0.43-0.05-0.63,0.07c-0.2,0.11-0.34,0.28-0.41,0.51l-1.44,5.9c0,0.01-0.01,0.04-0.02,0.09C9.64,23.67,9.63,23.71,9.63,23.74zM12.24,26.81c0,0.16,0.05,0.31,0.15,0.46c0.1,0.15,0.25,0.25,0.45,0.31c0.11,0.03,0.19,0.04,0.24,0.04c0.44,0,0.71-0.2,0.82-0.59l2.25-8.93c0.06-0.24,0.04-0.46-0.07-0.65c-0.11-0.19-0.28-0.32-0.5-0.39c-0.23-0.07-0.45-0.05-0.66,0.07s-0.34,0.28-0.39,0.5l-2.26,8.92c0,0.01,0,0.05-0.01,0.12C12.24,26.73,12.24,26.78,12.24,26.81zM16.4,23.82c0,0.36,0.21,0.6,0.63,0.74c0.14,0.04,0.24,0.06,0.3,0.06c0.11,0,0.23-0.02,0.35-0.07c0.21-0.08,0.34-0.28,0.39-0.58l1.43-5.87c0.06-0.24,0.04-0.45-0.08-0.65c-0.11-0.19-0.28-0.32-0.51-0.39c-0.23-0.07-0.45-0.05-0.66,0.07c-0.21,0.11-0.33,0.28-0.38,0.51l-1.43,5.9C16.42,23.7,16.4,23.8,16.4,23.82zM17.58,8.77c0.32-0.58,0.75-1.02,1.31-1.33c0.55-0.3,1.14-0.45,1.76-0.44c0.12,0,0.21,0,0.27,0.01v0.3c-0.01,0.97,0.24,1.88,0.77,2.75c0.52,0.86,1.26,1.52,2.21,1.97c-0.22,0.46-0.49,0.81-0.79,1.07c-0.92-0.76-1.99-1.13-3.23-1.13h-0.31C19.3,10.7,18.64,9.64,17.58,8.77z\"}}]})(props);\r\n}\r\nexport const WiNightAltShowers = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.07,16.91c0,1.33,0.46,2.48,1.39,3.43s2.06,1.47,3.4,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.37c0-0.12-0.06-0.18-0.17-0.18c-0.87-0.07-1.6-0.41-2.19-1.04c-0.59-0.62-0.89-1.36-0.89-2.21c0-0.83,0.28-1.54,0.84-2.16s1.26-0.97,2.1-1.07l0.53-0.07c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.11-1.08,0.56-1.99,1.37-2.71c0.81-0.73,1.76-1.09,2.85-1.09c1.09,0,2.04,0.36,2.85,1.09c0.81,0.72,1.28,1.63,1.39,2.72l0.08,0.58c0,0.12,0.06,0.18,0.18,0.18h1.61c0.9,0,1.67,0.32,2.32,0.95c0.64,0.63,0.97,1.39,0.97,2.28c0,0.85-0.3,1.59-0.89,2.21c-0.59,0.62-1.33,0.97-2.19,1.04c-0.13,0-0.2,0.06-0.2,0.18v1.37c0,0.11,0.07,0.17,0.2,0.17c1.33-0.04,2.46-0.55,3.38-1.51c0.92-0.96,1.38-2.11,1.38-3.45c0-0.87-0.22-1.68-0.65-2.43c0.81-0.73,1.34-1.6,1.58-2.62v-0.13l0.19-0.79l-0.76-0.21c-0.81-0.24-1.44-0.7-1.89-1.35c-0.45-0.66-0.67-1.34-0.67-2.03c0-0.26,0.03-0.52,0.08-0.78l0.2-0.8l-0.85-0.25L21.9,5.49c-0.47-0.09-0.88-0.14-1.25-0.14c-0.38,0-0.76,0.04-1.14,0.13c-0.39,0.09-0.79,0.22-1.2,0.41c-0.42,0.19-0.82,0.45-1.2,0.8c-0.38,0.35-0.72,0.76-1,1.23c-0.74-0.33-1.53-0.49-2.36-0.49c-1.41,0-2.66,0.44-3.75,1.31s-1.77,1.99-2.07,3.36c-1.12,0.26-2.05,0.83-2.77,1.72C4.43,14.73,4.07,15.76,4.07,16.91zM9.47,23.68c0,0.15,0.05,0.3,0.15,0.45c0.1,0.15,0.25,0.26,0.45,0.33c0.22,0.07,0.43,0.06,0.64-0.05s0.34-0.28,0.41-0.51l0.28-1.06c0.07-0.21,0.05-0.41-0.07-0.62c-0.12-0.21-0.29-0.34-0.51-0.41c-0.23-0.06-0.45-0.03-0.65,0.08s-0.34,0.3-0.42,0.53l-0.23,0.99C9.49,23.57,9.47,23.66,9.47,23.68zM10.77,18.95c0,0.11,0.03,0.23,0.1,0.36c0.07,0.17,0.25,0.3,0.53,0.38c0.24,0.06,0.46,0.04,0.66-0.06c0.19-0.1,0.33-0.28,0.4-0.52l0.28-1.03c0.07-0.23,0.05-0.45-0.07-0.64c-0.12-0.2-0.29-0.33-0.51-0.39c-0.24-0.06-0.47-0.04-0.67,0.07c-0.2,0.11-0.33,0.28-0.4,0.52l-0.27,1.01C10.79,18.78,10.77,18.88,10.77,18.95zM12.02,26.8c0,0.17,0.05,0.33,0.15,0.49c0.1,0.16,0.25,0.27,0.45,0.33c0.11,0.03,0.18,0.05,0.23,0.05c0.09,0,0.21-0.03,0.38-0.1c0.2-0.08,0.34-0.27,0.43-0.55l0.3-1.05c0.07-0.21,0.05-0.42-0.07-0.63c-0.12-0.21-0.29-0.34-0.51-0.41c-0.24-0.06-0.47-0.04-0.67,0.08c-0.2,0.12-0.34,0.29-0.41,0.53l-0.25,1.01C12.03,26.63,12.02,26.72,12.02,26.8zM13.35,22.03c0,0.15,0.05,0.3,0.15,0.45s0.25,0.26,0.46,0.33c0.22,0.07,0.44,0.05,0.64-0.06c0.2-0.11,0.33-0.28,0.4-0.52l0.27-1.04c0.07-0.21,0.05-0.42-0.06-0.62c-0.11-0.2-0.27-0.34-0.49-0.41c-0.24-0.06-0.47-0.03-0.68,0.08s-0.35,0.3-0.42,0.53l-0.24,1L13.35,22.03zM16.16,23.79c0,0.38,0.21,0.62,0.64,0.75c0.09,0.02,0.17,0.03,0.24,0.03c0.15,0,0.27-0.02,0.37-0.07c0.21-0.08,0.36-0.27,0.44-0.57l0.27-1.02c0.06-0.25,0.04-0.47-0.08-0.67s-0.29-0.32-0.53-0.37c-0.23-0.07-0.45-0.05-0.64,0.07s-0.33,0.29-0.4,0.51l-0.27,1.04c0,0.02-0.01,0.07-0.02,0.15C16.16,23.71,16.16,23.76,16.16,23.79zM17.55,18.98c0,0.16,0.05,0.31,0.15,0.46c0.1,0.15,0.26,0.26,0.46,0.32c0.14,0.03,0.22,0.05,0.23,0.05c0.09,0,0.21-0.03,0.38-0.1c0.21-0.08,0.35-0.27,0.44-0.55l0.28-1.04c0.06-0.22,0.03-0.43-0.08-0.63s-0.3-0.33-0.53-0.4c-0.22-0.07-0.43-0.05-0.63,0.07s-0.33,0.29-0.4,0.52l-0.26,1.06C17.56,18.83,17.55,18.92,17.55,18.98zM17.58,8.81c0.32-0.56,0.76-1,1.33-1.31c0.57-0.31,1.17-0.47,1.81-0.47h0.21c-0.01,0.09-0.01,0.21-0.01,0.38c0,0.95,0.26,1.85,0.78,2.71c0.52,0.86,1.25,1.51,2.17,1.96c-0.22,0.43-0.48,0.8-0.78,1.1c-0.93-0.81-2.02-1.21-3.25-1.21h-0.32C19.27,10.78,18.63,9.73,17.58,8.81z\"}}]})(props);\r\n}\r\nexport const WiNightAltSleetStorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.09,16.89c0,1.11,0.33,2.1,0.99,2.97c0.66,0.87,1.52,1.47,2.58,1.79l-0.65,1.7c-0.04,0.14,0,0.21,0.14,0.21h2.12l-1.29,4.18h0.28l4.23-5.62c0.04-0.04,0.04-0.09,0.02-0.14c-0.03-0.05-0.07-0.07-0.14-0.07h-2.18l2.47-4.64c0.07-0.14,0.03-0.22-0.13-0.22H9.57c-0.09,0-0.16,0.05-0.22,0.15l-1.07,2.88c-0.71-0.18-1.3-0.57-1.78-1.17s-0.71-1.27-0.71-2.01c0-0.83,0.28-1.55,0.85-2.17c0.57-0.61,1.27-0.97,2.1-1.07l0.53-0.07c0.13,0,0.2-0.06,0.2-0.18l0.07-0.51c0.11-1.08,0.56-1.99,1.37-2.72c0.81-0.73,1.76-1.1,2.85-1.1c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.64,1.4,2.71l0.07,0.57c0,0.12,0.06,0.19,0.17,0.19h1.62c0.91,0,1.68,0.32,2.33,0.95s0.97,1.4,0.97,2.28c0,0.85-0.3,1.59-0.9,2.21c-0.6,0.62-1.33,0.97-2.2,1.03c-0.12,0-0.19,0.06-0.19,0.19v1.36c0,0.12,0.06,0.18,0.19,0.18c1.33-0.04,2.46-0.55,3.39-1.51c0.93-0.97,1.39-2.12,1.39-3.45c0-0.87-0.22-1.68-0.66-2.45c0.76-0.74,1.27-1.61,1.51-2.62l0.19-0.68c0.01-0.01,0.01-0.03,0.01-0.07c0-0.08-0.05-0.13-0.15-0.16l-0.62-0.17c-0.57-0.17-1.06-0.45-1.46-0.84c-0.4-0.39-0.68-0.8-0.85-1.22s-0.25-0.84-0.24-1.26c0-0.28,0.03-0.56,0.1-0.85l0.11-0.61c0.02-0.1-0.02-0.18-0.14-0.23l-0.8-0.24c-0.47-0.09-0.88-0.14-1.24-0.14c-0.37-0.01-0.75,0.03-1.13,0.12c-0.38,0.08-0.78,0.22-1.19,0.4c-0.41,0.18-0.8,0.45-1.18,0.79c-0.38,0.34-0.71,0.74-0.99,1.2C15.3,7.55,14.51,7.4,13.77,7.4c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.36c-1.11,0.26-2.02,0.84-2.74,1.74C4.45,14.71,4.09,15.74,4.09,16.89zM11.97,27.1c0,0.17,0.05,0.33,0.16,0.49c0.11,0.16,0.27,0.27,0.49,0.33c0.09,0.02,0.17,0.03,0.24,0.03c0.43,0,0.7-0.2,0.8-0.61l0.13-0.59c0.06-0.26,0.03-0.48-0.08-0.68c-0.12-0.2-0.29-0.32-0.53-0.37c-0.21-0.07-0.42-0.05-0.63,0.07c-0.21,0.12-0.34,0.29-0.41,0.51l-0.13,0.59C11.98,26.99,11.97,27.07,11.97,27.1zM12.76,24.2c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.23-0.08-0.42-0.23-0.58c-0.16-0.16-0.35-0.23-0.59-0.23s-0.43,0.08-0.59,0.23C12.84,23.77,12.76,23.97,12.76,24.2zM13.38,21.93c-0.01,0.15,0.03,0.31,0.14,0.47c0.1,0.16,0.25,0.26,0.45,0.3c0.23,0.06,0.44,0.04,0.64-0.06s0.33-0.29,0.41-0.56l0.26-0.9c0.07-0.22,0.05-0.43-0.07-0.63c-0.12-0.2-0.29-0.33-0.53-0.4c-0.22-0.07-0.43-0.04-0.64,0.08s-0.34,0.3-0.41,0.53l-0.23,0.9C13.39,21.74,13.38,21.83,13.38,21.93zM16.14,24.08c0,0.17,0.05,0.33,0.15,0.48c0.1,0.15,0.25,0.26,0.46,0.32c0.03,0,0.08,0.01,0.14,0.02c0.06,0.01,0.11,0.02,0.14,0.02c0.41,0,0.66-0.22,0.76-0.66l0.14-0.6c0.07-0.21,0.05-0.42-0.07-0.63c-0.12-0.21-0.29-0.34-0.51-0.41c-0.25-0.06-0.48-0.04-0.68,0.08s-0.34,0.29-0.41,0.53l-0.09,0.59c0,0.01,0,0.05-0.01,0.11C16.15,24,16.14,24.04,16.14,24.08zM16.88,21.12c0,0.23,0.08,0.42,0.24,0.57c0.15,0.16,0.34,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23S16.88,20.88,16.88,21.12zM17.59,8.77c0.33-0.56,0.78-0.99,1.34-1.29s1.15-0.45,1.76-0.45h0.22v0.32c0,0.64,0.11,1.26,0.34,1.86c0.23,0.6,0.56,1.15,1.02,1.66c0.45,0.51,0.99,0.91,1.61,1.21c-0.17,0.38-0.42,0.72-0.76,1.03c-0.91-0.78-1.98-1.17-3.22-1.17h-0.33C19.28,10.68,18.62,9.62,17.59,8.77z\"}}]})(props);\r\n}\r\nexport const WiNightAltSleet = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.09,17.13v-0.37c0.04-1.12,0.42-2.11,1.13-2.97c0.71-0.86,1.61-1.42,2.68-1.67c0.31-1.36,1.02-2.48,2.11-3.36s2.35-1.31,3.76-1.31c0.74,0,1.53,0.15,2.38,0.46c0.28-0.46,0.61-0.86,0.99-1.2c0.38-0.34,0.77-0.6,1.18-0.79c0.41-0.18,0.8-0.32,1.19-0.4c0.38-0.08,0.76-0.12,1.13-0.12c0.39,0,0.8,0.04,1.24,0.13l0.8,0.25c0.12,0.06,0.17,0.13,0.14,0.23L22.7,6.63c-0.07,0.29-0.1,0.57-0.1,0.84c0,0.31,0.05,0.62,0.15,0.95c0.1,0.32,0.24,0.64,0.44,0.95s0.46,0.59,0.8,0.85c0.34,0.26,0.72,0.45,1.16,0.58l0.62,0.17c0.1,0.03,0.15,0.08,0.15,0.16c0,0.04,0,0.06-0.01,0.07l-0.19,0.68c-0.24,1.01-0.75,1.89-1.51,2.62c0.44,0.76,0.66,1.58,0.66,2.45c0,1.34-0.46,2.49-1.39,3.45c-0.93,0.97-2.06,1.47-3.39,1.51c-0.12,0-0.19-0.06-0.19-0.19v-1.36c0-0.12,0.06-0.18,0.19-0.18c0.87-0.06,1.6-0.41,2.2-1.03c0.6-0.62,0.9-1.36,0.9-2.21c0-0.89-0.32-1.66-0.97-2.29s-1.42-0.95-2.33-0.95h-1.62c-0.11,0-0.17-0.06-0.17-0.18l-0.07-0.58c-0.11-1.07-0.58-1.98-1.4-2.71c-0.82-0.73-1.77-1.1-2.86-1.1c-1.09,0-2.05,0.37-2.85,1.1c-0.81,0.73-1.27,1.64-1.37,2.72l-0.07,0.52c0,0.11-0.07,0.17-0.2,0.17l-0.53,0.07c-0.84,0.1-1.54,0.46-2.1,1.07c-0.57,0.62-0.85,1.34-0.85,2.17v0.02l0.01,0.01h0.02C5.83,17.5,5.95,18,6.19,18.46c0.24,0.46,0.56,0.84,0.97,1.14h0.01l0.01,0.01l0.01,0.01c0.22,0.16,0.42,0.27,0.62,0.35c0.34,0.15,0.69,0.23,1.07,0.24c0.11,0,0.17,0.06,0.17,0.17v1.34c0,0.12-0.06,0.18-0.17,0.18c-0.93-0.04-1.78-0.32-2.55-0.82H6.32c-0.66-0.43-1.19-0.99-1.59-1.69C4.33,18.69,4.12,17.94,4.09,17.13zM9.59,24.1c0-0.03,0.01-0.07,0.02-0.13s0.02-0.09,0.02-0.12l0.09-0.59c0.07-0.24,0.2-0.41,0.41-0.53s0.43-0.14,0.68-0.08c0.23,0.07,0.39,0.21,0.51,0.41c0.11,0.21,0.13,0.42,0.07,0.63l-0.14,0.6c-0.1,0.43-0.35,0.65-0.76,0.65c-0.03,0-0.08,0-0.15-0.01c-0.07-0.01-0.11-0.01-0.13-0.01c-0.21-0.06-0.36-0.17-0.46-0.33C9.64,24.43,9.59,24.27,9.59,24.1zM10.33,21.16c0-0.24,0.08-0.43,0.23-0.59s0.35-0.23,0.59-0.23s0.43,0.08,0.59,0.23s0.23,0.35,0.23,0.59c0,0.23-0.08,0.43-0.23,0.58s-0.35,0.23-0.59,0.23c-0.23,0-0.42-0.08-0.57-0.25C10.42,21.57,10.33,21.38,10.33,21.16zM11.97,27.16c0-0.04,0.01-0.11,0.04-0.22l0.13-0.59c0.07-0.23,0.21-0.4,0.41-0.51c0.21-0.12,0.42-0.14,0.63-0.07c0.23,0.04,0.41,0.17,0.53,0.37c0.12,0.2,0.15,0.43,0.08,0.68l-0.13,0.59c-0.1,0.41-0.37,0.61-0.8,0.61c-0.07,0-0.16-0.01-0.24-0.03c-0.22-0.06-0.38-0.17-0.49-0.33C12.03,27.49,11.97,27.33,11.97,27.16zM12.76,24.25c0-0.23,0.08-0.42,0.23-0.58c0.16-0.16,0.35-0.23,0.59-0.23s0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.58c0,0.24-0.08,0.43-0.23,0.59c-0.16,0.16-0.35,0.23-0.59,0.23c-0.23,0-0.42-0.08-0.58-0.24C12.84,24.67,12.76,24.48,12.76,24.25zM13.38,21.98c0-0.09,0.01-0.18,0.03-0.27l0.23-0.9c0.07-0.23,0.21-0.41,0.41-0.53c0.21-0.12,0.42-0.15,0.64-0.08c0.24,0.07,0.41,0.2,0.53,0.4c0.12,0.2,0.14,0.41,0.07,0.63l-0.26,0.9c-0.08,0.28-0.22,0.46-0.41,0.56c-0.19,0.1-0.41,0.12-0.64,0.06c-0.2-0.04-0.35-0.14-0.45-0.3C13.41,22.29,13.37,22.13,13.38,21.98zM16.14,24.12c0-0.03,0-0.08,0.01-0.13s0.01-0.09,0.01-0.11l0.09-0.59c0.07-0.24,0.2-0.41,0.41-0.53s0.43-0.14,0.68-0.08c0.23,0.07,0.4,0.21,0.51,0.41c0.12,0.21,0.14,0.42,0.07,0.63l-0.14,0.6c-0.1,0.44-0.35,0.66-0.76,0.66c-0.03,0-0.08-0.01-0.14-0.02c-0.06-0.01-0.11-0.02-0.14-0.02c-0.2-0.06-0.35-0.17-0.45-0.33S16.14,24.29,16.14,24.12zM16.88,21.18c0-0.24,0.08-0.43,0.23-0.59s0.35-0.23,0.59-0.23c0.24,0,0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.59c0,0.23-0.08,0.42-0.23,0.58c-0.16,0.16-0.35,0.23-0.59,0.23c-0.24,0-0.43-0.08-0.58-0.24C16.97,21.6,16.88,21.41,16.88,21.18zM17.59,8.82c1.04,0.85,1.7,1.9,1.98,3.16h0.33c1.23,0,2.3,0.39,3.22,1.18c0.34-0.31,0.59-0.65,0.76-1.04c-0.62-0.3-1.15-0.7-1.61-1.21c-0.45-0.51-0.79-1.06-1.02-1.66c-0.23-0.6-0.34-1.22-0.34-1.86V7.09h-0.22c-0.62,0-1.21,0.15-1.77,0.45C18.36,7.84,17.92,8.27,17.59,8.82z\"}}]})(props);\r\n}\r\nexport const WiNightAltSnowThunderstorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.09,16.89c0,1.11,0.33,2.1,0.99,2.97c0.66,0.87,1.52,1.47,2.58,1.79l-0.65,1.7c-0.04,0.14,0,0.21,0.14,0.21h2.12l-1.29,4.18h0.28l4.23-5.62c0.04-0.04,0.04-0.09,0.02-0.14c-0.03-0.05-0.07-0.07-0.14-0.07h-2.18l2.47-4.64c0.07-0.14,0.03-0.22-0.13-0.22H9.57c-0.09,0-0.16,0.05-0.22,0.15l-1.07,2.88c-0.71-0.18-1.3-0.57-1.78-1.17s-0.71-1.27-0.71-2.01c0-0.83,0.28-1.55,0.85-2.17c0.57-0.61,1.27-0.97,2.1-1.07l0.53-0.07c0.13,0,0.2-0.06,0.2-0.18l0.07-0.51c0.11-1.08,0.56-1.99,1.37-2.72c0.81-0.73,1.76-1.1,2.85-1.1c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.64,1.4,2.71l0.07,0.57c0,0.12,0.06,0.19,0.17,0.19h1.62c0.91,0,1.68,0.32,2.33,0.95s0.97,1.4,0.97,2.28c0,0.85-0.3,1.59-0.9,2.21c-0.6,0.62-1.33,0.97-2.2,1.03c-0.12,0-0.19,0.06-0.19,0.19v1.36c0,0.12,0.06,0.18,0.19,0.18c1.33-0.04,2.46-0.55,3.39-1.51c0.93-0.97,1.39-2.12,1.39-3.45c0-0.87-0.22-1.68-0.66-2.45c0.76-0.74,1.27-1.61,1.51-2.62l0.19-0.68c0.01-0.01,0.01-0.03,0.01-0.07c0-0.08-0.05-0.13-0.15-0.16l-0.62-0.17c-0.57-0.17-1.06-0.45-1.46-0.84c-0.4-0.39-0.68-0.8-0.85-1.22s-0.25-0.84-0.24-1.26c0-0.28,0.03-0.56,0.1-0.85l0.11-0.61c0.02-0.1-0.02-0.18-0.14-0.23l-0.8-0.24c-0.47-0.09-0.88-0.14-1.24-0.14c-0.37-0.01-0.75,0.03-1.13,0.12c-0.38,0.08-0.78,0.22-1.19,0.4c-0.41,0.18-0.8,0.45-1.18,0.79c-0.38,0.34-0.71,0.74-0.99,1.2C15.3,7.55,14.51,7.4,13.77,7.4c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.36c-1.11,0.26-2.02,0.84-2.74,1.74C4.45,14.71,4.09,15.74,4.09,16.89zM13.68,22.96c0,0.24,0.08,0.44,0.24,0.59c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.61-0.24s0.25-0.36,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61s-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26S13.68,22.72,13.68,22.96zM13.68,19.32c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.61-0.23s0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.6s-0.37-0.25-0.61-0.25c-0.23,0-0.42,0.08-0.58,0.25S13.68,19.09,13.68,19.32zM13.68,26.63c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26C13.76,26.19,13.68,26.4,13.68,26.63zM16.91,21.02c0,0.24,0.08,0.44,0.25,0.6s0.36,0.25,0.6,0.25c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.6c0-0.22-0.08-0.42-0.24-0.58c-0.16-0.16-0.35-0.24-0.59-0.24c-0.23,0-0.43,0.08-0.6,0.24S16.91,20.79,16.91,21.02zM16.91,24.66c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.6,0.24c0.24,0,0.43-0.08,0.59-0.24c0.16-0.16,0.23-0.35,0.23-0.59c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.23C16.99,24.22,16.91,24.42,16.91,24.66zM17.59,8.77c0.33-0.56,0.78-0.99,1.34-1.29s1.15-0.45,1.76-0.45h0.22v0.32c0,0.64,0.11,1.26,0.34,1.86c0.23,0.6,0.56,1.15,1.02,1.66c0.45,0.51,0.99,0.91,1.61,1.21c-0.17,0.38-0.42,0.72-0.76,1.03c-0.91-0.78-1.98-1.17-3.22-1.17h-0.33C19.28,10.68,18.62,9.62,17.59,8.77z\"}}]})(props);\r\n}\r\nexport const WiNightAltSnowWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.07,16.93c0,1.33,0.47,2.47,1.4,3.43s2.07,1.47,3.4,1.51c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.85-0.04-1.58-0.39-2.18-1.03c-0.61-0.64-0.91-1.39-0.91-2.24c0-0.85,0.28-1.58,0.85-2.2c0.57-0.62,1.27-0.96,2.1-1.03l0.53-0.07c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.11-1.09,0.56-2.01,1.37-2.75s1.76-1.11,2.86-1.11c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.64,1.4,2.72l0.08,0.57c0,0.12,0.06,0.18,0.17,0.18h1.62c0.91,0,1.68,0.32,2.33,0.97c0.65,0.64,0.97,1.41,0.97,2.31c0,0.85-0.3,1.6-0.91,2.24c-0.61,0.64-1.33,0.98-2.18,1.03c-0.14,0-0.21,0.06-0.21,0.17v1.34c0,0.11,0.07,0.17,0.21,0.17c0.88-0.02,1.68-0.26,2.41-0.71c0.73-0.45,1.31-1.05,1.73-1.8s0.63-1.56,0.63-2.43c0-0.91-0.22-1.74-0.65-2.48c0.74-0.66,1.24-1.52,1.52-2.58l0.17-0.72c0.01-0.01,0.02-0.04,0.02-0.08c0-0.07-0.05-0.13-0.16-0.16l-0.61-0.17c-0.44-0.13-0.83-0.32-1.17-0.57s-0.61-0.53-0.81-0.84c-0.2-0.31-0.34-0.62-0.44-0.95c-0.1-0.32-0.15-0.64-0.15-0.95c0-0.27,0.03-0.56,0.1-0.86l0.11-0.62c0.02-0.09-0.02-0.17-0.14-0.22l-0.8-0.24c-0.44-0.11-0.85-0.16-1.25-0.16c-0.37,0-0.74,0.04-1.12,0.13c-0.38,0.09-0.77,0.22-1.18,0.41c-0.41,0.19-0.8,0.45-1.18,0.8c-0.38,0.35-0.71,0.75-0.99,1.22c-0.81-0.33-1.6-0.5-2.38-0.5c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.37c-1.12,0.28-2.04,0.87-2.75,1.76C4.43,14.74,4.07,15.77,4.07,16.93zM9.6,24.66c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.6-0.23c0.16-0.16,0.24-0.35,0.24-0.59c0-0.24-0.08-0.43-0.24-0.59c-0.16-0.16-0.36-0.23-0.6-0.23S10,23.91,9.84,24.07C9.68,24.22,9.6,24.42,9.6,24.66zM10.03,21.02c0,0.24,0.08,0.44,0.24,0.6s0.35,0.25,0.59,0.25c0.24,0,0.44-0.08,0.6-0.25c0.16-0.17,0.24-0.37,0.24-0.6c0-0.22-0.08-0.42-0.24-0.58c-0.16-0.16-0.36-0.24-0.6-0.24c-0.23,0-0.43,0.08-0.59,0.24S10.03,20.79,10.03,21.02zM12.38,26.63c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26C12.46,26.19,12.38,26.4,12.38,26.63zM13.02,22.96c0,0.24,0.08,0.43,0.25,0.59c0.16,0.16,0.35,0.24,0.57,0.24c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.26-0.36,0.26-0.59c0-0.24-0.09-0.44-0.26-0.61c-0.17-0.17-0.38-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26S13.02,22.72,13.02,22.96zM13.66,19.32c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.61-0.23s0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.6s-0.37-0.25-0.61-0.25c-0.22,0-0.42,0.08-0.58,0.25S13.66,19.09,13.66,19.32zM16.05,24.66c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.6,0.24c0.23,0,0.43-0.08,0.59-0.24c0.16-0.16,0.24-0.35,0.24-0.59c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.23C16.13,24.22,16.05,24.42,16.05,24.66zM16.47,21.02c0,0.23,0.08,0.43,0.25,0.6c0.17,0.17,0.37,0.25,0.6,0.25s0.43-0.08,0.59-0.25s0.24-0.37,0.24-0.6c0-0.22-0.08-0.42-0.24-0.58s-0.35-0.24-0.59-0.24s-0.43,0.08-0.6,0.25C16.55,20.61,16.47,20.8,16.47,21.02zM17.58,8.77c0.31-0.54,0.75-0.96,1.3-1.26S20,7.06,20.59,7.05c0.15,0,0.26,0.01,0.33,0.02v0.31c0,0.97,0.26,1.88,0.78,2.74s1.25,1.51,2.17,1.96c-0.16,0.36-0.41,0.72-0.76,1.07c-0.89-0.79-1.96-1.18-3.23-1.18h-0.31C19.3,10.74,18.64,9.68,17.58,8.77z\"}}]})(props);\r\n}\r\nexport const WiNightAltSnow = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.07,16.93c0,1.33,0.47,2.47,1.4,3.43s2.07,1.47,3.4,1.51c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.85-0.04-1.58-0.39-2.18-1.03c-0.61-0.64-0.91-1.39-0.91-2.24c0-0.85,0.28-1.58,0.85-2.2c0.57-0.62,1.27-0.96,2.1-1.03l0.53-0.07c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.11-1.09,0.56-2.01,1.37-2.75s1.76-1.11,2.86-1.11c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.64,1.4,2.72l0.08,0.57c0,0.12,0.06,0.18,0.17,0.18h1.62c0.91,0,1.68,0.32,2.33,0.97c0.65,0.64,0.97,1.41,0.97,2.31c0,0.85-0.3,1.6-0.91,2.24c-0.61,0.64-1.33,0.98-2.18,1.03c-0.14,0-0.21,0.06-0.21,0.17v1.34c0,0.11,0.07,0.17,0.21,0.17c0.88-0.02,1.68-0.26,2.41-0.71c0.73-0.45,1.31-1.05,1.73-1.8s0.63-1.56,0.63-2.43c0-0.91-0.22-1.74-0.65-2.48c0.74-0.66,1.24-1.52,1.52-2.58l0.17-0.72c0.01-0.01,0.02-0.04,0.02-0.08c0-0.07-0.05-0.13-0.16-0.16l-0.61-0.17c-0.44-0.13-0.83-0.32-1.17-0.57s-0.61-0.53-0.81-0.84c-0.2-0.31-0.34-0.62-0.44-0.95c-0.1-0.32-0.15-0.64-0.15-0.95c0-0.27,0.03-0.56,0.1-0.86l0.11-0.62c0.02-0.09-0.02-0.17-0.14-0.22l-0.8-0.24c-0.44-0.11-0.85-0.16-1.25-0.16c-0.37,0-0.74,0.04-1.12,0.13c-0.38,0.09-0.77,0.22-1.18,0.41c-0.41,0.19-0.8,0.45-1.18,0.8c-0.38,0.35-0.71,0.75-0.99,1.22c-0.81-0.33-1.6-0.5-2.38-0.5c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.37c-1.12,0.28-2.04,0.87-2.75,1.76C4.43,14.74,4.07,15.77,4.07,16.93zM10.46,21.02c0,0.24,0.08,0.44,0.24,0.6c0.16,0.17,0.35,0.25,0.59,0.25c0.24,0,0.44-0.08,0.6-0.25s0.24-0.37,0.24-0.6c0-0.22-0.08-0.42-0.24-0.58s-0.36-0.24-0.6-0.24c-0.23,0-0.43,0.08-0.59,0.24C10.54,20.6,10.46,20.79,10.46,21.02zM10.46,24.66c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.6-0.23c0.16-0.16,0.24-0.35,0.24-0.59c0-0.24-0.08-0.43-0.24-0.59c-0.16-0.16-0.36-0.23-0.6-0.23c-0.24,0-0.43,0.08-0.59,0.23C10.54,24.22,10.46,24.42,10.46,24.66zM13.66,22.96c0,0.24,0.08,0.44,0.24,0.59c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.61-0.24s0.25-0.36,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61s-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26S13.66,22.72,13.66,22.96zM13.66,19.32c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.61-0.23s0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.6s-0.37-0.25-0.61-0.25c-0.22,0-0.42,0.08-0.58,0.25S13.66,19.09,13.66,19.32zM13.66,26.63c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26C13.75,26.19,13.66,26.4,13.66,26.63zM16.9,21.02c0,0.24,0.08,0.44,0.25,0.6s0.36,0.25,0.6,0.25s0.43-0.08,0.59-0.25s0.24-0.37,0.24-0.6c0-0.22-0.08-0.42-0.24-0.58s-0.35-0.24-0.59-0.24s-0.43,0.08-0.6,0.24S16.9,20.79,16.9,21.02zM16.9,24.66c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.6,0.24s0.43-0.08,0.59-0.24c0.16-0.16,0.23-0.35,0.23-0.59c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23s-0.44,0.08-0.6,0.23C16.98,24.22,16.9,24.42,16.9,24.66zM17.58,8.77c0.31-0.54,0.75-0.96,1.3-1.26S20,7.06,20.59,7.05c0.15,0,0.26,0.01,0.33,0.02v0.31c0,0.97,0.26,1.88,0.78,2.74s1.25,1.51,2.17,1.96c-0.16,0.36-0.41,0.72-0.76,1.07c-0.89-0.79-1.96-1.18-3.23-1.18h-0.31C19.3,10.74,18.64,9.68,17.58,8.77z\"}}]})(props);\r\n}\r\nexport const WiNightAltSprinkle = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.11,16.89c0,1.33,0.46,2.48,1.39,3.43c0.93,0.96,2.06,1.47,3.4,1.54c0.12,0,0.18-0.06,0.18-0.18v-1.33c0-0.12-0.06-0.18-0.18-0.18c-0.86-0.04-1.58-0.38-2.18-1.02c-0.6-0.64-0.9-1.39-0.9-2.26c0-0.83,0.28-1.55,0.84-2.17c0.56-0.61,1.26-0.97,2.1-1.07l0.52-0.04c0.13,0,0.2-0.06,0.2-0.18l0.07-0.54c0.11-1.08,0.56-1.99,1.37-2.71c0.81-0.73,1.76-1.09,2.85-1.09c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.63,1.4,2.71l0.07,0.57c0,0.12,0.06,0.19,0.18,0.19h1.62c0.89,0,1.65,0.32,2.3,0.96s0.97,1.4,0.97,2.27c0,0.87-0.3,1.62-0.9,2.26c-0.6,0.64-1.33,0.98-2.18,1.02c-0.12,0-0.19,0.06-0.19,0.18v1.33c0,0.12,0.06,0.18,0.19,0.18c0.88-0.03,1.68-0.27,2.41-0.72s1.31-1.05,1.73-1.8s0.63-1.57,0.63-2.44c0-0.87-0.23-1.68-0.68-2.45c0.78-0.74,1.29-1.6,1.54-2.58l0.14-0.73c0.01-0.01,0.02-0.03,0.02-0.07c0-0.07-0.05-0.13-0.16-0.16l-0.57-0.17c-0.57-0.16-1.06-0.44-1.46-0.82c-0.41-0.38-0.7-0.79-0.87-1.21c-0.17-0.43-0.26-0.85-0.26-1.28c0-0.29,0.04-0.57,0.11-0.85l0.13-0.61c0.02-0.1-0.02-0.18-0.13-0.23l-0.8-0.24c-0.45-0.1-0.87-0.15-1.27-0.15c-0.36,0-0.73,0.04-1.12,0.13c-0.38,0.09-0.78,0.22-1.19,0.4s-0.81,0.44-1.2,0.79s-0.72,0.74-1,1.2c-0.81-0.31-1.59-0.46-2.33-0.46c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.36c-1.11,0.26-2.02,0.84-2.73,1.74C4.47,14.71,4.11,15.74,4.11,16.89zM10.05,17.77c0,0.38,0.14,0.71,0.42,0.98c0.28,0.27,0.62,0.4,1.02,0.4c0.4,0,0.73-0.13,1-0.4c0.27-0.27,0.4-0.59,0.4-0.98c0-0.26-0.12-0.6-0.35-1.02c-0.23-0.42-0.45-0.75-0.65-0.98c-0.11-0.12-0.24-0.26-0.41-0.43l-0.35,0.41c-0.27,0.29-0.52,0.64-0.75,1.04S10.05,17.51,10.05,17.77zM13.04,21.76c0,0.66,0.23,1.21,0.68,1.66c0.46,0.45,1.01,0.67,1.65,0.67c0.66,0,1.21-0.23,1.66-0.68c0.45-0.46,0.68-1.01,0.68-1.65c0-0.55-0.27-1.22-0.8-2c-0.44-0.58-0.87-1.08-1.28-1.49c-0.08-0.06-0.17-0.13-0.26-0.23l-0.23,0.23c-0.39,0.36-0.82,0.86-1.28,1.48c-0.24,0.33-0.43,0.68-0.59,1.04C13.11,21.16,13.04,21.48,13.04,21.76zM14.51,15.09c0,0.26,0.1,0.47,0.29,0.66s0.42,0.27,0.7,0.27c0.26,0,0.47-0.09,0.66-0.27c0.18-0.18,0.27-0.4,0.27-0.66c0-0.43-0.31-0.97-0.93-1.62l-0.25,0.27c-0.18,0.2-0.35,0.43-0.5,0.7C14.58,14.71,14.51,14.93,14.51,15.09zM17.56,8.77c0.35-0.57,0.8-1,1.34-1.29c0.54-0.29,1.12-0.44,1.72-0.44c0.12,0,0.21,0.01,0.27,0.02v0.3c0,0.96,0.26,1.87,0.79,2.74s1.25,1.52,2.18,1.97c-0.16,0.38-0.41,0.72-0.75,1.03c-0.93-0.76-1.99-1.14-3.21-1.14h-0.33C19.27,10.65,18.6,9.59,17.56,8.77z\"}}]})(props);\r\n}\r\nexport const WiNightAltStormShowers = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.09,16.89c0,1.11,0.33,2.1,0.99,2.97c0.66,0.87,1.52,1.47,2.58,1.79l-0.65,1.7c-0.04,0.14,0,0.21,0.14,0.21h2.12l-1.29,4.18h0.28l4.23-5.62c0.04-0.04,0.04-0.09,0.02-0.14c-0.03-0.05-0.07-0.07-0.14-0.07h-2.18l2.47-4.64c0.07-0.14,0.03-0.22-0.13-0.22H9.57c-0.09,0-0.16,0.05-0.22,0.15l-1.07,2.88c-0.71-0.18-1.3-0.57-1.78-1.17s-0.71-1.27-0.71-2.01c0-0.83,0.28-1.55,0.85-2.17c0.57-0.61,1.27-0.97,2.1-1.07l0.53-0.07c0.13,0,0.2-0.06,0.2-0.18l0.07-0.51c0.11-1.08,0.56-1.99,1.37-2.72c0.81-0.73,1.76-1.1,2.85-1.1c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.64,1.4,2.71l0.07,0.57c0,0.12,0.06,0.19,0.17,0.19h1.62c0.91,0,1.68,0.32,2.33,0.95s0.97,1.4,0.97,2.28c0,0.85-0.3,1.59-0.9,2.21c-0.6,0.62-1.33,0.97-2.2,1.03c-0.12,0-0.19,0.06-0.19,0.19v1.36c0,0.12,0.06,0.18,0.19,0.18c1.33-0.04,2.46-0.55,3.39-1.51c0.93-0.97,1.39-2.12,1.39-3.45c0-0.87-0.22-1.68-0.66-2.45c0.76-0.74,1.27-1.61,1.51-2.62l0.19-0.68c0.01-0.01,0.01-0.03,0.01-0.07c0-0.08-0.05-0.13-0.15-0.16l-0.62-0.17c-0.57-0.17-1.06-0.45-1.46-0.84c-0.4-0.39-0.68-0.8-0.85-1.22s-0.25-0.84-0.24-1.26c0-0.28,0.03-0.56,0.1-0.85l0.11-0.61c0.02-0.1-0.02-0.18-0.14-0.23l-0.8-0.24c-0.47-0.09-0.88-0.14-1.24-0.14c-0.37-0.01-0.75,0.03-1.13,0.12c-0.38,0.08-0.78,0.22-1.19,0.4c-0.41,0.18-0.8,0.45-1.18,0.79c-0.38,0.34-0.71,0.74-0.99,1.2C15.3,7.55,14.51,7.4,13.77,7.4c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.36c-1.11,0.26-2.02,0.84-2.74,1.74C4.45,14.71,4.09,15.74,4.09,16.89zM12.26,26.76c0,0.16,0.05,0.31,0.15,0.47c0.1,0.16,0.25,0.27,0.45,0.33c0.16,0.03,0.25,0.05,0.27,0.05c0.09,0,0.22-0.03,0.37-0.1c0.21-0.1,0.35-0.27,0.42-0.53l0.28-1.05c0.06-0.22,0.04-0.43-0.08-0.63s-0.29-0.34-0.53-0.41c-0.22-0.06-0.43-0.03-0.63,0.08c-0.2,0.12-0.34,0.3-0.41,0.53l-0.27,1L12.26,26.76zM13.6,22c0,0.43,0.2,0.68,0.61,0.75c0.14,0.03,0.23,0.05,0.27,0.05c0.38,0,0.63-0.21,0.77-0.63l0.3-1.02c0.06-0.22,0.03-0.43-0.08-0.63s-0.3-0.34-0.53-0.41c-0.22-0.07-0.44-0.05-0.64,0.07c-0.2,0.12-0.34,0.29-0.41,0.53l-0.25,1.01C13.61,21.81,13.6,21.9,13.6,22zM16.41,23.67c0.01,0.17,0.07,0.33,0.18,0.48s0.27,0.27,0.48,0.34c0.16,0.04,0.27,0.06,0.33,0.06c0.34,0,0.58-0.23,0.71-0.68l0.24-1.02c0.07-0.23,0.05-0.45-0.06-0.66c-0.11-0.21-0.28-0.34-0.5-0.41c-0.25-0.06-0.48-0.03-0.68,0.08c-0.2,0.12-0.33,0.3-0.37,0.53l-0.29,1.03c0,0.02-0.01,0.06-0.02,0.12C16.41,23.61,16.41,23.65,16.41,23.67zM17.59,8.77c0.33-0.56,0.78-0.99,1.34-1.29s1.15-0.45,1.76-0.45h0.22v0.32c0,0.64,0.11,1.26,0.34,1.86c0.23,0.6,0.56,1.15,1.02,1.66c0.45,0.51,0.99,0.91,1.61,1.21c-0.17,0.38-0.42,0.72-0.76,1.03c-0.91-0.78-1.98-1.17-3.22-1.17h-0.33C19.28,10.68,18.62,9.62,17.59,8.77zM17.78,18.87c0,0.43,0.22,0.71,0.65,0.82c0.14,0.02,0.24,0.04,0.3,0.04c0.36,0,0.61-0.22,0.74-0.65l0.28-1.04c0.01-0.05,0.01-0.12,0.01-0.22c0.01-0.17-0.03-0.33-0.14-0.49c-0.11-0.16-0.27-0.27-0.49-0.33c-0.01,0-0.05,0-0.1-0.01c-0.05-0.01-0.1-0.01-0.13-0.01c-0.16,0-0.32,0.05-0.48,0.15s-0.27,0.26-0.33,0.47l-0.29,1.02c0,0.01,0,0.04-0.01,0.1C17.79,18.79,17.78,18.84,17.78,18.87z\"}}]})(props);\r\n}\r\nexport const WiNightAltThunderstorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.08,16.88c0,1.11,0.33,2.1,0.99,2.98s1.52,1.47,2.58,1.79l-0.66,1.69c-0.03,0.14,0.02,0.21,0.15,0.21h2.12l-0.97,3.51h0.29l3.91-4.94c0.04-0.05,0.04-0.1,0.01-0.15c-0.03-0.05-0.08-0.07-0.15-0.07h-2.18l2.48-4.63c0.07-0.14,0.03-0.22-0.13-0.22H9.56c-0.09,0-0.16,0.05-0.23,0.14l-1.07,2.88c-0.72-0.18-1.31-0.57-1.78-1.17c-0.47-0.6-0.7-1.27-0.7-2.01c0-0.83,0.28-1.55,0.85-2.17c0.57-0.62,1.27-0.97,2.1-1.07l0.52-0.08c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.11-1.08,0.56-1.99,1.37-2.72s1.76-1.1,2.85-1.1c1.08,0,2.03,0.37,2.85,1.1s1.29,1.64,1.41,2.71l0.07,0.59c0,0.11,0.06,0.17,0.18,0.17h1.62c0.91,0,1.68,0.32,2.33,0.95s0.97,1.4,0.97,2.29c0,0.85-0.3,1.59-0.9,2.21c-0.6,0.62-1.33,0.97-2.2,1.04c-0.12,0-0.19,0.06-0.19,0.17v1.38c0,0.12,0.06,0.18,0.19,0.18c0.88-0.03,1.68-0.27,2.41-0.72c0.73-0.45,1.31-1.05,1.73-1.8c0.42-0.75,0.63-1.57,0.63-2.45c0-0.87-0.22-1.68-0.66-2.45c0.79-0.76,1.31-1.63,1.56-2.62l0.14-0.72c0.01-0.01,0.02-0.04,0.02-0.07c0-0.07-0.05-0.12-0.16-0.15l-0.56-0.18c-0.57-0.16-1.06-0.44-1.46-0.82c-0.41-0.38-0.7-0.8-0.87-1.23c-0.17-0.44-0.26-0.88-0.26-1.32c0-0.26,0.03-0.53,0.08-0.8l0.14-0.61c0.04-0.1,0-0.18-0.14-0.23c-0.21-0.09-0.51-0.17-0.9-0.26c-0.39-0.09-0.77-0.13-1.15-0.13c-0.36,0-0.73,0.04-1.12,0.13c-0.38,0.09-0.78,0.22-1.19,0.41c-0.41,0.18-0.81,0.45-1.2,0.8c-0.39,0.35-0.72,0.75-1,1.22c-0.82-0.3-1.62-0.45-2.38-0.45c-1.41,0-2.67,0.44-3.76,1.31s-1.8,1.99-2.11,3.36c-1.11,0.26-2.02,0.84-2.74,1.74C4.44,14.69,4.08,15.72,4.08,16.88zM12.18,26.7c0,0.16,0.05,0.32,0.15,0.46c0.1,0.15,0.25,0.25,0.45,0.3c0.11,0.02,0.21,0.03,0.3,0.03c0.41,0,0.66-0.21,0.76-0.63l2.32-8.79c0.06-0.24,0.04-0.45-0.07-0.65c-0.11-0.2-0.28-0.33-0.5-0.39c-0.23-0.07-0.45-0.05-0.65,0.06c-0.2,0.11-0.34,0.27-0.4,0.49l-2.32,8.84C12.19,26.52,12.18,26.61,12.18,26.7zM16.35,23.68c0,0.16,0.05,0.32,0.15,0.46c0.1,0.14,0.25,0.25,0.46,0.31c0.03,0,0.08,0,0.15,0.01c0.07,0.01,0.13,0.01,0.16,0.01c0.38,0,0.62-0.21,0.72-0.63l1.5-5.77c0.06-0.24,0.04-0.46-0.08-0.66c-0.11-0.19-0.28-0.32-0.51-0.38c-0.23-0.07-0.45-0.05-0.65,0.06c-0.2,0.11-0.33,0.27-0.39,0.5l-1.5,5.82C16.36,23.51,16.35,23.6,16.35,23.68zM17.59,8.75c0.33-0.57,0.77-1,1.33-1.3c0.55-0.3,1.14-0.45,1.76-0.45c0.12,0,0.22,0,0.27,0.01v0.32c0,0.96,0.26,1.87,0.78,2.73s1.25,1.51,2.17,1.97c-0.18,0.42-0.44,0.77-0.79,1.07c-0.92-0.79-1.99-1.18-3.22-1.18h-0.32C19.29,10.66,18.63,9.61,17.59,8.75z\"}}]})(props);\r\n}\r\nexport const WiNightClear = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.91,14.48c0-0.96,0.19-1.87,0.56-2.75s0.88-1.63,1.51-2.26c0.63-0.63,1.39-1.14,2.27-1.52c0.88-0.38,1.8-0.57,2.75-0.57h1.14c0.16,0.04,0.23,0.14,0.23,0.28l0.05,0.88c0.04,1.27,0.49,2.35,1.37,3.24c0.88,0.89,1.94,1.37,3.19,1.42l0.82,0.07c0.16,0,0.24,0.08,0.24,0.23v0.98c0.01,1.28-0.3,2.47-0.93,3.56c-0.63,1.09-1.48,1.95-2.57,2.59c-1.08,0.63-2.27,0.95-3.55,0.95c-0.97,0-1.9-0.19-2.78-0.56s-1.63-0.88-2.26-1.51c-0.63-0.63-1.13-1.39-1.5-2.26C8.1,16.37,7.91,15.45,7.91,14.48zM9.74,14.48c0,0.76,0.15,1.48,0.45,2.16c0.3,0.67,0.7,1.24,1.19,1.7c0.49,0.46,1.05,0.82,1.69,1.08c0.63,0.27,1.28,0.4,1.94,0.4c0.58,0,1.17-0.11,1.76-0.34c0.59-0.23,1.14-0.55,1.65-0.96c0.51-0.41,0.94-0.93,1.31-1.57c0.37-0.64,0.6-1.33,0.71-2.09c-1.63-0.34-2.94-1.04-3.92-2.1s-1.55-2.3-1.7-3.74C13.86,9.08,13,9.37,12.21,9.9c-0.78,0.53-1.39,1.2-1.82,2.02C9.96,12.74,9.74,13.59,9.74,14.48z\"}}]})(props);\r\n}\r\nexport const WiNightCloudyGusts = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.06,20.98c0,0.24,0.09,0.44,0.27,0.6c0.18,0.18,0.38,0.27,0.61,0.27h5.88c0.26,0,0.49,0.09,0.69,0.28c0.2,0.19,0.3,0.42,0.3,0.68c0,0.26-0.1,0.48-0.3,0.68s-0.43,0.3-0.68,0.3c-0.25,0-0.48-0.1-0.68-0.3c-0.19-0.17-0.39-0.26-0.62-0.26c-0.23,0-0.43,0.08-0.59,0.25c-0.16,0.17-0.24,0.37-0.24,0.61s0.08,0.44,0.24,0.6c0.52,0.52,1.15,0.78,1.88,0.78c0.74,0,1.38-0.26,1.89-0.77c0.52-0.52,0.78-1.14,0.78-1.88c0-0.74-0.26-1.38-0.78-1.9c-0.52-0.52-1.15-0.79-1.89-0.79H3.94c-0.24,0-0.44,0.08-0.62,0.25C3.14,20.55,3.06,20.75,3.06,20.98zM3.06,17.97c0,0.23,0.09,0.42,0.27,0.58c0.15,0.16,0.35,0.24,0.61,0.24h10.99c0.74,0,1.37-0.26,1.89-0.78c0.52-0.52,0.78-1.15,0.78-1.88s-0.26-1.36-0.78-1.88c-0.52-0.52-1.15-0.77-1.89-0.77c-0.76,0-1.39,0.25-1.89,0.75c-0.15,0.17-0.23,0.38-0.23,0.63c0,0.24,0.08,0.43,0.23,0.59s0.35,0.23,0.6,0.23c0.25,0,0.45-0.07,0.61-0.23c0.19-0.19,0.42-0.28,0.68-0.28c0.26,0,0.48,0.09,0.68,0.28c0.19,0.19,0.29,0.42,0.29,0.68s-0.1,0.5-0.29,0.69c-0.19,0.19-0.42,0.29-0.68,0.29H3.94c-0.24,0-0.44,0.08-0.62,0.25C3.14,17.54,3.06,17.74,3.06,17.97zM5.71,15.63c0,0.08,0.06,0.12,0.17,0.12h1.43c0.08,0,0.15-0.05,0.22-0.14c0.23-0.54,0.57-0.99,1.05-1.35c0.47-0.36,1-0.56,1.59-0.6l0.52-0.07c0.12,0,0.19-0.06,0.19-0.19l0.07-0.5c0.11-1.08,0.57-1.99,1.38-2.71c0.81-0.73,1.77-1.09,2.86-1.09s2.04,0.36,2.85,1.08c0.81,0.72,1.27,1.63,1.39,2.72l0.07,0.57c0,0.12,0.06,0.18,0.18,0.18h1.63c0.9,0,1.67,0.32,2.31,0.95c0.64,0.63,0.96,1.39,0.96,2.28c0,0.89-0.32,1.66-0.96,2.29c-0.64,0.63-1.41,0.95-2.31,0.95h-6.91c-0.11,0-0.17,0.06-0.17,0.18v1.37c0,0.12,0.06,0.18,0.17,0.18h6.91c0.89,0,1.72-0.22,2.48-0.67c0.76-0.44,1.36-1.05,1.8-1.81c0.44-0.76,0.66-1.59,0.66-2.49c0-0.74-0.14-1.42-0.42-2.02c0.76-1,1.14-2.11,1.14-3.33c0-0.71-0.14-1.39-0.42-2.04s-0.65-1.2-1.12-1.67c-0.47-0.47-1.03-0.84-1.67-1.11S22.42,6.3,21.71,6.3c-1.54,0-2.84,0.58-3.88,1.73c-0.78-0.41-1.67-0.61-2.65-0.61c-1.41,0-2.66,0.44-3.75,1.31s-1.77,1.99-2.07,3.35c-0.85,0.2-1.6,0.61-2.26,1.23s-1.11,1.35-1.37,2.18v0.04C5.72,15.58,5.71,15.62,5.71,15.63zM19.24,9c0.72-0.68,1.54-1.02,2.48-1.02c0.98,0,1.81,0.35,2.51,1.05s1.05,1.53,1.05,2.5c0,0.61-0.17,1.22-0.51,1.85c-0.96-0.96-2.11-1.43-3.47-1.43h-0.33C20.73,10.88,20.16,9.89,19.24,9z\"}}]})(props);\r\n}\r\nexport const WiNightCloudyHigh = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.58,13.45c0-1.15,0.36-2.18,1.08-3.07C5.38,9.48,6.29,8.9,7.4,8.64c0.31-1.37,1.02-2.49,2.11-3.37s2.35-1.32,3.76-1.32c1.38,0,2.61,0.43,3.69,1.28s1.78,1.95,2.1,3.29h0.33c0.9,0,1.73,0.22,2.49,0.65s1.37,1.03,1.81,1.79c0.44,0.76,0.67,1.58,0.67,2.48c0,0.2-0.01,0.4-0.03,0.61c0.65,0.51,1.16,1.15,1.54,1.91s0.56,1.57,0.56,2.43c0,0.77-0.15,1.5-0.45,2.19c-0.3,0.69-0.7,1.28-1.2,1.78c-0.5,0.49-1.1,0.89-1.79,1.18c-0.69,0.29-1.41,0.44-2.17,0.44c-0.75,0-1.47-0.15-2.16-0.44c-0.69-0.29-1.28-0.69-1.78-1.19c-0.5-0.5-0.89-1.09-1.19-1.78s-0.45-1.41-0.45-2.16H8.38c-1.34-0.06-2.47-0.57-3.4-1.53C4.05,15.94,3.58,14.79,3.58,13.45zM5.29,13.45c0,0.87,0.3,1.62,0.9,2.26c0.6,0.64,1.33,0.98,2.19,1.03h11.19c0.86-0.04,1.59-0.39,2.19-1.03c0.61-0.64,0.91-1.4,0.91-2.26c0-0.88-0.33-1.63-0.98-2.27s-1.42-0.96-2.32-0.96h-1.62c-0.11,0-0.17-0.06-0.17-0.17l-0.07-0.58c-0.11-1.08-0.58-1.99-1.4-2.72s-1.77-1.1-2.86-1.1c-1.09,0-2.05,0.37-2.85,1.1S9.14,8.39,9.04,9.47l-0.08,0.58c0,0.11-0.07,0.17-0.2,0.17H8.24c-0.84,0.1-1.54,0.46-2.1,1.07C5.57,11.9,5.29,12.62,5.29,13.45zM16.55,18.56c0.06,1.12,0.52,2.07,1.37,2.83c0.85,0.76,1.82,1.14,2.91,1.14c0.6,0,1.17-0.12,1.7-0.35s0.98-0.55,1.34-0.93c0.36-0.39,0.65-0.83,0.85-1.33c0.21-0.5,0.31-1,0.31-1.52c0-0.49-0.1-0.98-0.3-1.47s-0.48-0.94-0.85-1.35c-0.39,0.82-0.97,1.5-1.74,2.02c-0.77,0.52-1.63,0.79-2.57,0.83h-3.03C16.54,18.44,16.54,18.47,16.55,18.56z\"}}]})(props);\r\n}\r\nexport const WiNightCloudyWindy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.43,21c0,0.25,0.09,0.45,0.27,0.6c0.17,0.17,0.37,0.26,0.61,0.26h9.54c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61s-0.08-0.44-0.24-0.61c-0.16-0.17-0.35-0.25-0.59-0.25H3.31c-0.24,0-0.44,0.09-0.62,0.26C2.52,20.57,2.43,20.77,2.43,21zM5.07,17.97c0,0.23,0.09,0.42,0.27,0.58c0.16,0.16,0.36,0.24,0.6,0.24h9.55c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.24-0.08-0.44-0.24-0.6c-0.16-0.17-0.35-0.25-0.59-0.25H5.94c-0.24,0-0.44,0.08-0.61,0.25C5.15,17.54,5.07,17.74,5.07,17.97zM6.21,15.64c0,0.07,0.07,0.11,0.2,0.11h1.42c0.09,0,0.16-0.05,0.23-0.14c0.22-0.54,0.57-0.99,1.05-1.35c0.47-0.36,1-0.56,1.58-0.6l0.54-0.07c0.12,0,0.18-0.06,0.18-0.18l0.07-0.51c0.11-1.08,0.57-1.99,1.38-2.72c0.81-0.73,1.77-1.1,2.87-1.1s2.06,0.36,2.87,1.09c0.81,0.72,1.28,1.63,1.39,2.73l0.08,0.57c0,0.12,0.06,0.19,0.17,0.19h1.62c0.91,0,1.69,0.32,2.33,0.95c0.64,0.63,0.96,1.39,0.96,2.29c0,0.89-0.32,1.65-0.96,2.29c-0.64,0.64-1.42,0.96-2.33,0.96h-6.91c-0.11,0-0.17,0.06-0.17,0.17v1.38c0,0.12,0.06,0.18,0.17,0.18h6.91c0.91,0,1.74-0.22,2.51-0.67c0.77-0.44,1.37-1.05,1.82-1.81c0.45-0.76,0.67-1.59,0.67-2.49c0-0.71-0.15-1.37-0.44-2.01c0.77-1.01,1.15-2.1,1.15-3.29c0-0.95-0.24-1.83-0.71-2.64s-1.11-1.45-1.92-1.92c-0.81-0.47-1.69-0.7-2.64-0.7c-1.52,0-2.81,0.56-3.84,1.67C17.6,7.6,16.7,7.4,15.74,7.4c-0.93,0-1.81,0.2-2.63,0.59s-1.51,0.95-2.07,1.66c-0.56,0.71-0.94,1.52-1.13,2.43c-0.88,0.2-1.64,0.6-2.29,1.2c-0.65,0.6-1.11,1.33-1.36,2.17L6.21,15.64zM6.83,24.09c0,0.23,0.09,0.43,0.26,0.58c0.16,0.16,0.36,0.24,0.6,0.24h9.56c0.24,0,0.44-0.08,0.6-0.23s0.25-0.35,0.25-0.59s-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.25-0.6-0.25H7.69c-0.23,0-0.43,0.09-0.6,0.26C6.92,23.66,6.83,23.86,6.83,24.09zM19.83,9.02c0.67-0.65,1.5-0.98,2.47-0.98c0.99,0,1.83,0.35,2.52,1.04c0.69,0.69,1.04,1.53,1.04,2.52c0,0.63-0.16,1.22-0.49,1.77c-0.98-0.96-2.15-1.43-3.52-1.43h-0.32C21.3,10.84,20.73,9.87,19.83,9.02z\"}}]})(props);\r\n}\r\nexport const WiNightCloudy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.3,16.89c0,0.89,0.22,1.72,0.66,2.48s1.03,1.36,1.79,1.8s1.58,0.67,2.48,0.67h10.81c0.89,0,1.72-0.22,2.48-0.67s1.36-1.05,1.8-1.8c0.44-0.76,0.67-1.59,0.67-2.48c0-0.64-0.14-1.3-0.42-2c0.76-0.93,1.13-2.03,1.13-3.3c0-0.95-0.23-1.83-0.69-2.63c-0.46-0.8-1.1-1.44-1.9-1.91c-0.8-0.47-1.68-0.7-2.63-0.7c-1.49,0-2.78,0.58-3.87,1.74c-0.76-0.43-1.66-0.65-2.69-0.65c-1.41,0-2.65,0.43-3.73,1.3s-1.77,1.98-2.08,3.35c-1.12,0.25-2.03,0.82-2.74,1.72C4.66,14.71,4.3,15.74,4.3,16.89zM6.01,16.89c0-0.83,0.28-1.55,0.83-2.16c0.56-0.61,1.26-0.96,2.1-1.06l0.68-0.03l0.07-0.72c0.14-1.08,0.61-1.99,1.41-2.71c0.8-0.73,1.74-1.09,2.81-1.09c1.09,0,2.05,0.37,2.86,1.1s1.27,1.63,1.38,2.71l0.1,0.75h1.78c0.88,0,1.64,0.32,2.28,0.95s0.96,1.39,0.96,2.26c0,0.9-0.32,1.67-0.95,2.32s-1.4,0.97-2.28,0.97H9.23c-0.87,0-1.62-0.32-2.26-0.97C6.33,18.55,6.01,17.78,6.01,16.89zM18.04,9.06c0.69-0.66,1.5-0.99,2.44-0.99c0.99,0,1.83,0.34,2.52,1.03c0.69,0.68,1.04,1.52,1.04,2.51c0,0.62-0.17,1.23-0.52,1.84C22.56,12.48,21.4,12,20.03,12h-0.31C19.45,10.89,18.89,9.91,18.04,9.06z\"}}]})(props);\r\n}\r\nexport const WiNightFog = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.66,20.92c0,0.23,0.08,0.42,0.25,0.57c0.17,0.16,0.38,0.23,0.62,0.23h18.61c0.24,0,0.44-0.08,0.6-0.23c0.17-0.16,0.25-0.35,0.25-0.57c0-0.24-0.08-0.45-0.24-0.61c-0.16-0.17-0.37-0.25-0.61-0.25H3.53c-0.24,0-0.44,0.08-0.61,0.25C2.75,20.48,2.66,20.69,2.66,20.92zM5.27,17.81c0,0.24,0.09,0.43,0.26,0.59c0.14,0.18,0.33,0.27,0.59,0.27h18.61c0.23,0,0.42-0.08,0.58-0.25s0.23-0.37,0.23-0.61c0-0.23-0.08-0.43-0.23-0.58C25.16,17.08,24.96,17,24.73,17H6.12c-0.24,0-0.44,0.08-0.6,0.23C5.35,17.39,5.27,17.58,5.27,17.81zM5.42,15.39v-0.05c-0.04,0.15,0,0.22,0.12,0.22h1.44c0.06,0,0.12-0.05,0.19-0.15c0.24-0.52,0.59-0.94,1.06-1.27c0.47-0.33,0.99-0.52,1.55-0.56l0.53-0.08c0.12,0,0.19-0.06,0.19-0.18l0.06-0.5c0.11-1.08,0.56-1.97,1.36-2.7c0.8-0.72,1.75-1.08,2.84-1.08c1.07,0,2.02,0.36,2.82,1.07s1.27,1.6,1.38,2.67l0.07,0.57c0,0.12,0.07,0.18,0.21,0.18h1.58c0.64,0,1.23,0.17,1.75,0.52c0.52,0.34,0.92,0.8,1.17,1.36c0.07,0.1,0.14,0.15,0.22,0.15h1.42c0.12,0,0.17-0.07,0.15-0.22c-0.22-0.56-0.37-0.91-0.46-1.06c0.72-0.65,1.23-1.51,1.5-2.57l0.17-0.66c0.03-0.06,0.02-0.12-0.01-0.16c-0.03-0.04-0.07-0.07-0.12-0.07l-0.62-0.22c-0.89-0.26-1.57-0.78-2.04-1.58c-0.47-0.8-0.59-1.65-0.37-2.56l0.13-0.58c0.05-0.09,0.01-0.17-0.13-0.23l-0.84-0.23c-1.09-0.27-2.17-0.18-3.22,0.26c-1.05,0.44-1.87,1.15-2.47,2.12c-0.79-0.31-1.56-0.46-2.29-0.46c-1.39,0-2.62,0.44-3.71,1.31s-1.78,1.99-2.1,3.35c-0.84,0.2-1.58,0.6-2.22,1.21S5.67,14.55,5.42,15.39zM7,23.97c0,0.24,0.09,0.43,0.26,0.59c0.17,0.18,0.37,0.27,0.59,0.27H26.5c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61c0-0.23-0.08-0.42-0.24-0.58s-0.36-0.23-0.59-0.23H7.86c-0.24,0-0.44,0.08-0.6,0.23C7.09,23.55,7,23.74,7,23.97zM18.51,8.7c0.35-0.57,0.82-1.02,1.41-1.33c0.59-0.31,1.21-0.44,1.87-0.38c-0.07,1.04,0.17,2.02,0.7,2.93c0.54,0.91,1.28,1.58,2.22,2.02c-0.15,0.35-0.4,0.71-0.75,1.07c-0.92-0.76-1.97-1.13-3.14-1.13H20.5C20.18,10.57,19.52,9.51,18.51,8.7z\"}}]})(props);\r\n}\r\nexport const WiNightHail = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.25,16.89c0,1.33,0.46,2.48,1.39,3.43c0.93,0.96,2.06,1.47,3.4,1.54c0.12,0,0.18-0.06,0.18-0.18v-1.33c0-0.12-0.06-0.18-0.18-0.18c-0.86-0.04-1.58-0.38-2.18-1.02c-0.6-0.64-0.9-1.39-0.9-2.26c0-0.83,0.28-1.55,0.84-2.17c0.56-0.61,1.26-0.97,2.1-1.07l0.52-0.07c0.13,0,0.2-0.06,0.2-0.18l0.08-0.51c0.11-1.08,0.56-1.99,1.37-2.71c0.81-0.73,1.76-1.09,2.85-1.09c1.09,0,2.04,0.37,2.86,1.1s1.28,1.63,1.4,2.71l0.07,0.58c0,0.12,0.06,0.18,0.18,0.18h1.62c0.91,0,1.68,0.32,2.32,0.95c0.64,0.63,0.96,1.39,0.96,2.29c0,0.87-0.3,1.62-0.9,2.26c-0.6,0.64-1.33,0.98-2.18,1.02c-0.13,0-0.19,0.06-0.19,0.18v1.33c0,0.12,0.06,0.18,0.19,0.18c0.88-0.03,1.68-0.27,2.41-0.72c0.73-0.45,1.31-1.05,1.73-1.8s0.63-1.57,0.63-2.44c0-0.74-0.14-1.41-0.43-2.01c0.79-0.96,1.18-2.06,1.18-3.32c0-0.94-0.24-1.82-0.71-2.62c-0.47-0.81-1.11-1.45-1.92-1.92c-0.81-0.47-1.68-0.71-2.62-0.71c-1.56,0-2.85,0.58-3.88,1.73c-0.82-0.44-1.72-0.66-2.71-0.66c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.36c-1.1,0.26-2.01,0.84-2.73,1.74C4.61,14.71,4.25,15.74,4.25,16.89zM9.62,23.87c0.09,0.22,0.24,0.37,0.46,0.46c0.2,0.1,0.41,0.11,0.62,0.02c0.22-0.08,0.36-0.23,0.45-0.45c0.09-0.22,0.09-0.44,0.01-0.65c-0.08-0.22-0.23-0.37-0.44-0.47c-0.2-0.08-0.4-0.08-0.61,0.01c-0.21,0.09-0.36,0.23-0.46,0.43C9.54,23.39,9.53,23.61,9.62,23.87zM10.25,21.04c0,0.16,0.05,0.31,0.15,0.46c0.1,0.15,0.26,0.25,0.46,0.31c0.22,0.07,0.44,0.05,0.65-0.06s0.35-0.29,0.43-0.55l0.98-3.11c0.07-0.24,0.05-0.47-0.08-0.67c-0.12-0.2-0.31-0.33-0.55-0.38c-0.22-0.07-0.43-0.05-0.62,0.06c-0.2,0.11-0.33,0.28-0.4,0.5l-1,3.18L10.25,21.04zM12.11,26.64c0,0.07,0.02,0.17,0.06,0.29c0.09,0.22,0.25,0.38,0.46,0.45c0.08,0.05,0.19,0.08,0.33,0.08c0.06,0,0.16-0.02,0.3-0.06c0.22-0.08,0.38-0.23,0.47-0.45c0.1-0.22,0.1-0.44,0-0.66c-0.1-0.22-0.25-0.37-0.45-0.46s-0.41-0.09-0.62-0.01c-0.19,0.08-0.33,0.2-0.42,0.36C12.15,26.34,12.11,26.49,12.11,26.64zM12.85,23.97c0,0.18,0.05,0.33,0.15,0.48c0.1,0.14,0.26,0.24,0.48,0.28c0.02,0,0.06,0.01,0.11,0.02s0.1,0.02,0.13,0.02c0.43-0.03,0.7-0.24,0.81-0.62l1.76-6.07c0.07-0.24,0.05-0.46-0.06-0.65c-0.11-0.19-0.28-0.32-0.5-0.39c-0.23-0.07-0.45-0.05-0.65,0.06c-0.2,0.11-0.33,0.28-0.4,0.5l-1.8,6.07c0,0.02,0,0.06-0.01,0.1c-0.01,0.04-0.01,0.08-0.01,0.11C12.85,23.92,12.85,23.95,12.85,23.97zM16.29,23.57c0,0.1,0.02,0.21,0.05,0.32c0.08,0.21,0.23,0.36,0.46,0.44c0.09,0.04,0.21,0.07,0.36,0.07c0.12,0,0.22-0.02,0.29-0.06c0.23-0.09,0.38-0.23,0.46-0.43c0.08-0.22,0.08-0.43,0-0.65c-0.08-0.21-0.22-0.37-0.42-0.48c-0.22-0.08-0.44-0.08-0.65,0.01c-0.22,0.09-0.37,0.23-0.47,0.43C16.32,23.33,16.29,23.44,16.29,23.57zM17.01,21.03c0,0.36,0.21,0.61,0.62,0.75c0.14,0.04,0.24,0.06,0.3,0.06c0.12,0,0.23-0.03,0.34-0.08c0.17-0.09,0.31-0.27,0.4-0.55l0.98-3.11c0.08-0.23,0.05-0.45-0.06-0.64c-0.12-0.2-0.29-0.33-0.51-0.4c-0.23-0.07-0.44-0.05-0.64,0.06c-0.19,0.11-0.33,0.28-0.4,0.5l-0.98,3.13C17.02,20.91,17.01,21.01,17.01,21.03zM18.04,9.02c0.69-0.66,1.51-0.99,2.48-0.99c0.97,0,1.81,0.35,2.5,1.04c0.69,0.69,1.04,1.53,1.04,2.5c0,0.62-0.17,1.23-0.52,1.84c-0.98-0.98-2.14-1.47-3.49-1.47h-0.33C19.41,10.78,18.85,9.81,18.04,9.02z\"}}]})(props);\r\n}\r\nexport const WiNightLightning = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.29,16.93c0,0.66,0.12,1.28,0.38,1.88s0.59,1.11,1.02,1.55s0.94,0.79,1.52,1.05s1.21,0.42,1.87,0.45c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.87-0.06-1.6-0.41-2.19-1.03c-0.59-0.62-0.89-1.37-0.89-2.22c0-0.84,0.28-1.57,0.85-2.18c0.57-0.62,1.26-0.97,2.1-1.04l0.52-0.06c0.12,0,0.19-0.06,0.19-0.18l0.08-0.52c0.07-0.71,0.3-1.36,0.69-1.94s0.9-1.04,1.52-1.36s1.29-0.49,2.02-0.49c1.09,0,2.04,0.36,2.85,1.08c0.81,0.72,1.27,1.62,1.39,2.69l0.07,0.58c0,0.11,0.06,0.17,0.19,0.17h1.6c0.9,0,1.67,0.32,2.32,0.96c0.64,0.64,0.97,1.4,0.97,2.29c0,0.86-0.3,1.6-0.89,2.22c-0.59,0.62-1.33,0.97-2.19,1.03c-0.13,0-0.2,0.06-0.2,0.17v1.34c0,0.11,0.07,0.17,0.2,0.17c1.34-0.06,2.47-0.57,3.38-1.51C24.54,19.4,25,18.26,25,16.93c0-0.64-0.16-1.32-0.47-2.06c0.79-0.99,1.19-2.08,1.19-3.27c0-0.95-0.24-1.83-0.71-2.63c-0.47-0.81-1.11-1.44-1.91-1.91s-1.68-0.7-2.62-0.7c-1.59,0-2.88,0.58-3.87,1.73c-0.81-0.43-1.7-0.64-2.66-0.64c-1.41,0-2.66,0.44-3.75,1.32s-1.79,2-2.1,3.37c-1.12,0.26-2.03,0.83-2.74,1.72C4.64,14.75,4.29,15.77,4.29,16.93zM11.94,21.55c-0.02,0.14,0.02,0.21,0.14,0.21h2.17l-1.32,4.17h0.29l4.18-5.58c0.04-0.04,0.05-0.09,0.02-0.14s-0.07-0.07-0.14-0.07H15.1l2.3-4.24c0.07-0.14,0.03-0.22-0.14-0.22h-2.94c-0.08,0-0.14,0.05-0.21,0.14L11.94,21.55zM18,9.05c0.67-0.66,1.49-0.99,2.47-0.99c0.98,0,1.81,0.34,2.5,1.03C23.66,9.77,24,10.61,24,11.6c0,0.59-0.17,1.19-0.52,1.8c-0.97-0.93-2.12-1.4-3.45-1.4h-0.31C19.44,10.81,18.86,9.83,18,9.05z\"}}]})(props);\r\n}\r\nexport const WiNightPartlyCloudy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.77,19.61c0,0.97,0.35,1.81,1.06,2.52c0.71,0.71,1.55,1.06,2.52,1.06h6.85c0.97,0,1.8-0.35,2.49-1.05c0.69-0.7,1.04-1.54,1.04-2.53c0-0.48-0.07-0.89-0.21-1.23c0.83-0.53,1.49-1.24,1.97-2.12c0.48-0.88,0.73-1.83,0.73-2.84c0-0.81-0.16-1.59-0.47-2.33c-0.32-0.74-0.74-1.38-1.28-1.91S20.3,8.22,19.56,7.9c-0.74-0.32-1.51-0.48-2.32-0.48c-1.09,0-2.1,0.27-3.02,0.81s-1.65,1.27-2.18,2.18c-0.53,0.92-0.79,1.92-0.79,3.01v0.34c-1.01,0.57-1.67,1.41-1.99,2.49c-0.76,0.24-1.36,0.66-1.81,1.27C7,18.13,6.77,18.83,6.77,19.61zM8.75,19.61c0-0.42,0.13-0.78,0.4-1.08c0.27-0.3,0.61-0.47,1.02-0.51l0.63-0.08c0.12,0,0.19-0.08,0.19-0.23l0.1-0.56c0.07-0.58,0.31-1.06,0.73-1.44c0.42-0.39,0.91-0.58,1.48-0.58c0.58,0,1.09,0.19,1.51,0.58c0.43,0.39,0.68,0.87,0.75,1.44l0.08,0.65c0.06,0.15,0.15,0.23,0.25,0.23h1.31c0.43,0,0.8,0.16,1.12,0.47c0.32,0.31,0.47,0.68,0.47,1.12c0,0.45-0.16,0.83-0.47,1.15s-0.69,0.48-1.12,0.48h-6.85c-0.45,0-0.83-0.16-1.14-0.48S8.75,20.06,8.75,19.61zM13.18,13.22c0.07-1.09,0.49-2.01,1.27-2.76c0.78-0.74,1.71-1.12,2.8-1.12c1.11,0,2.06,0.4,2.84,1.19c0.78,0.79,1.17,1.76,1.17,2.89c0,0.7-0.17,1.35-0.51,1.95c-0.34,0.6-0.8,1.08-1.38,1.45c-0.59-0.49-1.27-0.73-2.03-0.73c-0.29-0.88-0.81-1.57-1.54-2.09c-0.73-0.52-1.56-0.78-2.49-0.78H13.18z\"}}]})(props);\r\n}\r\nexport const WiNightRainMix = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.19,16.91c0,0.87,0.21,1.68,0.64,2.43c0.42,0.75,1.01,1.35,1.74,1.8C7.3,21.6,8.11,21.84,9,21.86c0.12,0,0.19-0.06,0.19-0.17v-1.34c0-0.12-0.06-0.18-0.19-0.18c-0.86-0.04-1.59-0.39-2.19-1.03s-0.91-1.39-0.91-2.24c0-0.85,0.28-1.59,0.85-2.21c0.57-0.62,1.27-0.97,2.11-1.04l0.52-0.07c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.11-1.1,0.57-2.02,1.38-2.76s1.77-1.11,2.87-1.11c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.65,1.4,2.73l0.08,0.58c0,0.11,0.06,0.17,0.18,0.17h1.62c0.9,0,1.67,0.32,2.32,0.97c0.65,0.65,0.97,1.42,0.97,2.32c0,0.85-0.3,1.6-0.91,2.24c-0.61,0.64-1.33,0.98-2.18,1.03c-0.13,0-0.2,0.06-0.2,0.18v1.34c0,0.11,0.07,0.17,0.2,0.17c0.88-0.02,1.69-0.26,2.42-0.72c0.73-0.45,1.31-1.05,1.73-1.8s0.63-1.56,0.63-2.43c0-0.73-0.14-1.4-0.42-2.02c0.81-0.99,1.21-2.12,1.21-3.37c0-0.96-0.24-1.84-0.71-2.65s-1.11-1.45-1.92-1.92c-0.81-0.47-1.69-0.71-2.64-0.71c-0.74,0-1.46,0.15-2.15,0.46C17.71,7.03,17.12,7.45,16.62,8c-0.88-0.43-1.78-0.65-2.71-0.65c-1.42,0-2.68,0.44-3.78,1.32s-1.81,2-2.12,3.37c-1.12,0.29-2.04,0.88-2.76,1.78C4.54,14.72,4.19,15.75,4.19,16.91zM9.52,23.98c0,0.17,0.05,0.34,0.16,0.51c0.11,0.17,0.27,0.28,0.47,0.35c0.23,0.07,0.44,0.06,0.64-0.04c0.19-0.09,0.32-0.28,0.39-0.56l0.14-0.61c0.05-0.23,0.02-0.44-0.09-0.63c-0.11-0.2-0.28-0.33-0.52-0.4c-0.22-0.07-0.44-0.04-0.64,0.08s-0.34,0.3-0.4,0.53l-0.14,0.59C9.53,23.83,9.52,23.89,9.52,23.98zM10.28,21.08c0,0.21,0.08,0.4,0.25,0.57c0.16,0.17,0.34,0.25,0.56,0.25c0.24,0,0.44-0.08,0.6-0.24c0.16-0.16,0.24-0.35,0.24-0.59c0-0.23-0.08-0.43-0.24-0.59c-0.16-0.16-0.36-0.24-0.6-0.24c-0.23,0-0.42,0.08-0.58,0.23C10.36,20.65,10.28,20.85,10.28,21.08zM10.89,18.81c-0.01,0.16,0.03,0.31,0.14,0.45c0.1,0.15,0.26,0.25,0.48,0.32c0.21,0.06,0.41,0.04,0.62-0.07c0.21-0.11,0.34-0.28,0.41-0.51l0.28-0.9c0.07-0.24,0.05-0.46-0.07-0.65c-0.12-0.19-0.3-0.32-0.54-0.39c-0.22-0.07-0.43-0.05-0.63,0.07c-0.2,0.11-0.34,0.28-0.41,0.5l-0.24,0.92c0,0.02-0.01,0.06-0.02,0.12C10.9,18.72,10.89,18.77,10.89,18.81zM12.05,27.1c0,0.18,0.05,0.34,0.15,0.5c0.1,0.16,0.26,0.27,0.48,0.33c0.08,0.02,0.17,0.03,0.25,0.03c0.43,0,0.69-0.2,0.79-0.61l0.14-0.59c0.06-0.26,0.03-0.48-0.08-0.68s-0.29-0.32-0.52-0.37c-0.21-0.07-0.42-0.05-0.63,0.07c-0.21,0.12-0.34,0.29-0.41,0.51l-0.14,0.59C12.06,26.97,12.05,27.04,12.05,27.1zM12.83,24.2c0,0.22,0.08,0.41,0.25,0.58c0.16,0.16,0.35,0.24,0.57,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.23-0.08-0.42-0.23-0.58c-0.16-0.16-0.35-0.23-0.59-0.23s-0.43,0.08-0.59,0.23C12.91,23.77,12.83,23.97,12.83,24.2zM13.46,21.93c-0.01,0.15,0.03,0.31,0.13,0.47s0.25,0.26,0.45,0.3c0.23,0.06,0.44,0.04,0.64-0.06s0.33-0.29,0.41-0.56l0.27-0.9c0.07-0.22,0.05-0.43-0.07-0.63c-0.12-0.2-0.29-0.33-0.53-0.4c-0.22-0.07-0.43-0.04-0.64,0.08c-0.21,0.12-0.34,0.3-0.41,0.53l-0.23,0.9C13.47,21.74,13.46,21.83,13.46,21.93zM16.21,24.08c0,0.16,0.05,0.32,0.15,0.48s0.26,0.27,0.46,0.33c0.03,0,0.08,0.01,0.14,0.02s0.1,0.02,0.14,0.02c0.41,0,0.66-0.22,0.76-0.66l0.14-0.6c0.07-0.21,0.05-0.42-0.07-0.63c-0.11-0.21-0.28-0.34-0.51-0.41c-0.25-0.06-0.48-0.04-0.68,0.08c-0.2,0.12-0.34,0.29-0.41,0.53l-0.09,0.59c0,0.02-0.01,0.07-0.02,0.12S16.21,24.04,16.21,24.08zM16.95,21.12c0,0.22,0.08,0.42,0.25,0.57c0.15,0.16,0.34,0.24,0.57,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23S16.95,20.88,16.95,21.12zM17.56,18.81c0,0.17,0.05,0.33,0.16,0.48s0.27,0.26,0.49,0.32c0.02,0,0.06,0.01,0.12,0.02s0.11,0.02,0.14,0.02c0.1,0,0.22-0.03,0.36-0.09c0.21-0.11,0.35-0.29,0.41-0.52l0.24-0.9c0.06-0.23,0.04-0.44-0.07-0.63c-0.11-0.2-0.28-0.33-0.51-0.4c-0.23-0.07-0.44-0.05-0.64,0.06c-0.19,0.11-0.32,0.27-0.39,0.51l-0.28,0.91c0,0.02-0.01,0.06-0.02,0.12C17.57,18.74,17.56,18.78,17.56,18.81zM18.03,9.01c0.69-0.69,1.53-1.04,2.51-1.04c0.98,0,1.82,0.35,2.51,1.05c0.69,0.7,1.04,1.54,1.04,2.52c0,0.67-0.17,1.28-0.51,1.85c-0.96-0.96-2.14-1.44-3.54-1.44h-0.32C19.44,10.77,18.88,9.79,18.03,9.01z\"}}]})(props);\r\n}\r\nexport const WiNightRainWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.11,17.02c0,1.13,0.33,2.13,1,3.01c0.67,0.88,1.54,1.48,2.62,1.8c0.1,0.01,0.18-0.01,0.25-0.08l1.13-1.46c-0.89,0-1.66-0.32-2.31-0.96s-0.97-1.41-0.97-2.31c0-0.86,0.29-1.61,0.86-2.24s1.29-0.98,2.14-1.05l0.52-0.07c0.11,0,0.16-0.05,0.16-0.14l0.07-0.56c0.12-1.1,0.59-2.02,1.41-2.76c0.82-0.74,1.78-1.11,2.88-1.11c1.11,0,2.08,0.37,2.91,1.1c0.83,0.73,1.3,1.64,1.4,2.74l0.07,0.59c0.02,0.11,0.09,0.17,0.21,0.17h1.63c0.9,0,1.67,0.33,2.32,0.98c0.65,0.66,0.98,1.44,0.98,2.35c0,0.84-0.28,1.58-0.85,2.21c-0.57,0.63-1.27,0.98-2.1,1.06c-0.48,0-0.78,0.09-0.91,0.28l-2.18,2.4c-0.16,0.18-0.22,0.39-0.19,0.62c0.03,0.23,0.13,0.45,0.31,0.63c0.13,0.17,0.33,0.25,0.59,0.23s0.46-0.15,0.6-0.38L20.64,22c0.82-0.08,1.58-0.35,2.28-0.82c0.69-0.47,1.24-1.07,1.65-1.8s0.6-1.52,0.6-2.36c0-0.63-0.14-1.32-0.43-2.08c0.77-0.98,1.15-2.08,1.15-3.32c0-0.98-0.24-1.87-0.71-2.69c-0.48-0.82-1.12-1.46-1.94-1.93S21.53,6.3,20.56,6.3c-1.57,0-2.87,0.57-3.9,1.71c-0.87-0.43-1.79-0.65-2.77-0.65c-1.43,0-2.7,0.44-3.79,1.33s-1.8,2.03-2.11,3.43c-1.14,0.26-2.07,0.84-2.79,1.75S4.11,15.83,4.11,17.02zM7.91,24.52c0,0.14,0.02,0.25,0.05,0.32c0.08,0.21,0.23,0.36,0.44,0.44c0.23,0.1,0.45,0.11,0.68,0.02c0.23-0.08,0.38-0.24,0.45-0.45c0.1-0.22,0.11-0.44,0.02-0.67c-0.09-0.23-0.24-0.38-0.46-0.46c-0.23-0.08-0.44-0.08-0.66,0c-0.21,0.08-0.37,0.23-0.47,0.45C7.93,24.25,7.91,24.37,7.91,24.52zM9.75,22.08c0,0.23,0.11,0.45,0.32,0.67c0.43,0.36,0.84,0.31,1.26-0.15l2.19-2.44c0.15-0.17,0.21-0.38,0.18-0.61c-0.03-0.23-0.13-0.42-0.31-0.57c-0.18-0.14-0.39-0.19-0.63-0.16c-0.24,0.03-0.43,0.13-0.59,0.29l-2.2,2.38C9.82,21.7,9.75,21.9,9.75,22.08zM10.39,27.01c0,0.12,0.03,0.23,0.08,0.32c0.09,0.23,0.22,0.38,0.41,0.46c0.12,0.05,0.24,0.07,0.37,0.07c0.07,0,0.18-0.02,0.32-0.06c0.21-0.09,0.36-0.24,0.44-0.45c0.1-0.2,0.11-0.41,0.02-0.64c-0.08-0.23-0.23-0.38-0.45-0.46c-0.22-0.11-0.44-0.12-0.66-0.03c-0.21,0.09-0.38,0.25-0.49,0.48C10.41,26.8,10.39,26.9,10.39,27.01zM12.06,24.62v0.13c0.02,0.24,0.12,0.44,0.32,0.6c0.14,0.18,0.34,0.26,0.6,0.24c0.25-0.02,0.45-0.15,0.6-0.38l4.22-4.91c0.16-0.18,0.22-0.39,0.2-0.64c-0.02-0.24-0.14-0.43-0.35-0.57c-0.17-0.14-0.38-0.21-0.6-0.19c-0.23,0.02-0.42,0.12-0.58,0.3l-4.22,4.92C12.12,24.25,12.06,24.41,12.06,24.62zM15.69,25.45c-0.07,0.23-0.07,0.43,0,0.62c0.09,0.22,0.24,0.38,0.45,0.49c0.11,0.05,0.23,0.07,0.36,0.07c0.06,0,0.16-0.02,0.3-0.06c0.23-0.09,0.38-0.24,0.46-0.46c0.1-0.23,0.11-0.44,0.03-0.66c-0.08-0.21-0.23-0.36-0.44-0.44c-0.23-0.11-0.45-0.12-0.66-0.03C15.97,25.07,15.8,25.23,15.69,25.45zM18.09,9.03c0.68-0.68,1.51-1.02,2.48-1.02c1.01,0,1.86,0.35,2.56,1.05s1.05,1.56,1.05,2.56c0,0.62-0.17,1.23-0.52,1.82c-0.97-0.98-2.16-1.46-3.55-1.46H19.8C19.55,10.84,18.98,9.86,18.09,9.03z\"}}]})(props);\r\n}\r\nexport const WiNightRain = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.26,16.93c0,0.66,0.12,1.28,0.38,1.88s0.59,1.11,1.02,1.55c0.43,0.43,0.94,0.79,1.53,1.05s1.21,0.42,1.87,0.45c0.11,0,0.17-0.06,0.17-0.17v-1.34c0-0.11-0.06-0.17-0.17-0.17c-0.87-0.06-1.6-0.41-2.19-1.03c-0.59-0.62-0.89-1.37-0.89-2.22c0-0.84,0.28-1.57,0.85-2.19c0.57-0.62,1.26-0.97,2.1-1.04l0.53-0.06c0.13,0,0.2-0.06,0.2-0.19l0.06-0.51c0.11-1.09,0.56-1.99,1.37-2.71s1.76-1.08,2.86-1.08c1.09,0,2.05,0.36,2.85,1.07c0.81,0.72,1.27,1.61,1.38,2.69l0.07,0.58c0,0.12,0.06,0.18,0.19,0.18h1.6c0.9,0,1.67,0.32,2.32,0.96s0.97,1.4,0.97,2.29c0,0.86-0.3,1.6-0.89,2.22c-0.59,0.62-1.33,0.97-2.19,1.03c-0.13,0-0.2,0.06-0.2,0.17v1.34c0,0.11,0.07,0.17,0.2,0.17c1.34-0.06,2.47-0.57,3.39-1.51c0.92-0.95,1.38-2.09,1.38-3.42c0-0.72-0.14-1.38-0.42-1.99c0.78-0.94,1.17-2.06,1.17-3.36c0-0.94-0.23-1.81-0.7-2.62c-0.47-0.81-1.11-1.45-1.91-1.92s-1.68-0.71-2.62-0.71c-1.56,0-2.85,0.58-3.88,1.73c-0.88-0.43-1.78-0.65-2.7-0.65c-1.41,0-2.66,0.44-3.75,1.32s-1.79,2-2.1,3.38c-1.1,0.26-2.01,0.83-2.73,1.73C4.62,14.76,4.26,15.78,4.26,16.93zM9.75,23.61c0,0.4,0.22,0.66,0.65,0.78c0.21,0.07,0.42,0.05,0.63-0.06c0.21-0.11,0.35-0.28,0.41-0.5l1.5-5.73c0.06-0.22,0.03-0.43-0.09-0.63c-0.12-0.2-0.3-0.33-0.54-0.4c-0.22-0.07-0.43-0.05-0.63,0.07s-0.33,0.29-0.39,0.52l-1.5,5.7C9.76,23.47,9.75,23.55,9.75,23.61zM12.34,26.66c0,0.12,0.03,0.24,0.08,0.37c0.1,0.21,0.27,0.35,0.51,0.43c0.02,0,0.06,0,0.1,0.01s0.08,0.01,0.11,0.01s0.06,0,0.09,0c0.43,0,0.68-0.22,0.76-0.66l2.3-8.74c0.07-0.22,0.05-0.43-0.06-0.63c-0.11-0.2-0.28-0.33-0.5-0.4c-0.24-0.07-0.47-0.05-0.68,0.07s-0.33,0.29-0.38,0.52l-2.31,8.75C12.35,26.49,12.34,26.58,12.34,26.66zM16.5,23.6c0,0.16,0.05,0.31,0.16,0.47c0.11,0.16,0.26,0.26,0.45,0.32c0.06,0.02,0.14,0.03,0.23,0.03c0.17,0,0.33-0.05,0.49-0.14c0.16-0.09,0.26-0.24,0.32-0.45l1.5-5.73c0.08-0.21,0.05-0.41-0.07-0.62c-0.12-0.21-0.29-0.34-0.52-0.41c-0.24-0.07-0.46-0.05-0.66,0.07c-0.2,0.12-0.32,0.29-0.36,0.52l-1.5,5.7C16.51,23.47,16.5,23.55,16.5,23.6zM18.03,9.08c0.67-0.67,1.49-1,2.48-1c0.98,0,1.81,0.34,2.49,1.02c0.69,0.68,1.03,1.51,1.03,2.48c0,0.63-0.17,1.24-0.52,1.85C22.56,12.48,21.4,12,20.02,12h-0.31C19.43,10.83,18.87,9.86,18.03,9.08z\"}}]})(props);\r\n}\r\nexport const WiNightShowers = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.25,16.92c0,0.66,0.12,1.28,0.38,1.88c0.25,0.6,0.59,1.11,1.02,1.55c0.43,0.44,0.94,0.79,1.53,1.06s1.22,0.42,1.88,0.45c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.85-0.04-1.58-0.39-2.18-1.03s-0.9-1.39-0.9-2.24s0.28-1.58,0.84-2.2s1.26-0.96,2.1-1.03l0.53-0.07c0.1,0,0.15-0.05,0.15-0.15l0.08-0.53c0.11-1.09,0.58-2,1.4-2.73c0.82-0.73,1.78-1.09,2.88-1.09c1.09,0,2.04,0.36,2.85,1.08c0.82,0.72,1.28,1.62,1.4,2.7l0.07,0.57c0,0.12,0.06,0.19,0.18,0.19h1.62c0.89,0,1.65,0.32,2.29,0.96c0.64,0.64,0.96,1.41,0.96,2.31c0,0.85-0.3,1.6-0.89,2.24s-1.32,0.98-2.17,1.03c-0.13,0-0.19,0.06-0.19,0.17v1.34c0,0.11,0.06,0.17,0.19,0.17c1.34-0.06,2.47-0.57,3.39-1.52c0.93-0.95,1.39-2.09,1.39-3.42c0-0.64-0.14-1.31-0.41-2c0.76-0.99,1.13-2.09,1.13-3.29c0-0.94-0.24-1.82-0.71-2.63s-1.11-1.45-1.92-1.92c-0.81-0.47-1.68-0.71-2.62-0.71c-1.53,0-2.82,0.56-3.86,1.67c-0.87-0.43-1.77-0.65-2.7-0.65c-1.42,0-2.68,0.44-3.77,1.32s-1.79,2.01-2.1,3.38c-1.13,0.26-2.05,0.84-2.76,1.72S4.25,15.74,4.25,16.92zM9.64,23.67c0,0.17,0.05,0.33,0.15,0.48c0.1,0.15,0.26,0.27,0.48,0.34c0.11,0.06,0.24,0.08,0.37,0.07c0.13-0.01,0.27-0.08,0.4-0.2c0.13-0.12,0.23-0.28,0.28-0.48l0.28-1.01c0.06-0.25,0.04-0.48-0.08-0.67c-0.12-0.2-0.29-0.32-0.53-0.37c-0.21-0.07-0.42-0.05-0.63,0.07s-0.34,0.28-0.41,0.5l-0.28,1.04C9.65,23.53,9.64,23.61,9.64,23.67zM10.95,18.9c0.01,0.19,0.06,0.37,0.17,0.52s0.27,0.25,0.48,0.28c0.18,0.03,0.27,0.05,0.3,0.05c0.38,0,0.63-0.22,0.76-0.66l0.28-1c0.06-0.23,0.04-0.45-0.08-0.66c-0.12-0.21-0.29-0.35-0.53-0.42c-0.22-0.06-0.44-0.04-0.64,0.08s-0.33,0.29-0.4,0.52l-0.3,1.05C10.97,18.78,10.95,18.86,10.95,18.9zM12.19,26.8c0,0.18,0.05,0.34,0.15,0.5c0.1,0.16,0.26,0.27,0.48,0.33c0.14,0.03,0.23,0.05,0.28,0.05c0.09,0,0.21-0.03,0.38-0.1c0.17-0.08,0.3-0.27,0.38-0.55l0.3-1.01c0.06-0.25,0.03-0.48-0.08-0.68c-0.12-0.2-0.29-0.33-0.52-0.37c-0.22-0.07-0.43-0.05-0.64,0.07c-0.21,0.12-0.35,0.29-0.42,0.51l-0.28,1.04C12.2,26.67,12.19,26.74,12.19,26.8zM13.52,22c0,0.17,0.05,0.33,0.16,0.49c0.11,0.16,0.27,0.27,0.49,0.33c0.22,0.07,0.44,0.05,0.63-0.05c0.2-0.1,0.33-0.29,0.41-0.56l0.28-1.01c0.07-0.25,0.05-0.47-0.07-0.67c-0.12-0.19-0.29-0.31-0.53-0.36c-0.22-0.08-0.43-0.05-0.64,0.06s-0.34,0.29-0.41,0.51l-0.28,1.04C13.54,21.88,13.52,21.95,13.52,22zM16.37,23.75c-0.01,0.16,0.03,0.31,0.14,0.46s0.26,0.26,0.46,0.33l0.25,0.03c0.11,0.01,0.24-0.02,0.38-0.07c0.21-0.08,0.35-0.26,0.42-0.54l0.28-1.05c0.07-0.23,0.05-0.45-0.07-0.64c-0.12-0.2-0.29-0.33-0.51-0.4c-0.25-0.06-0.47-0.03-0.67,0.08s-0.32,0.3-0.36,0.53l-0.29,1C16.38,23.65,16.37,23.74,16.37,23.75zM17.72,18.95c0,0.17,0.05,0.34,0.16,0.5c0.11,0.16,0.27,0.26,0.48,0.3l0.25,0.03c0.43,0,0.7-0.21,0.81-0.62l0.28-1.03c0.06-0.25,0.03-0.48-0.08-0.68s-0.3-0.32-0.53-0.37c-0.23-0.07-0.45-0.05-0.64,0.07c-0.2,0.12-0.33,0.29-0.39,0.53l-0.3,1.02C17.74,18.82,17.72,18.9,17.72,18.95zM18.06,9.05c0.67-0.64,1.48-0.97,2.45-0.97c0.98,0,1.81,0.35,2.49,1.05c0.69,0.7,1.03,1.53,1.03,2.51c0,0.64-0.16,1.23-0.48,1.77c-0.96-0.96-2.12-1.44-3.49-1.44h-0.32C19.5,10.87,18.94,9.9,18.06,9.05z\"}}]})(props);\r\n}\r\nexport const WiNightSleetStorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.19,16.88c0,1.12,0.33,2.12,1,3s1.53,1.47,2.58,1.76l-0.66,1.7c-0.05,0.14,0,0.22,0.14,0.22h2.13l-1.43,4.21h0.29l4.36-5.66c0.04-0.04,0.04-0.09,0.02-0.14c-0.02-0.05-0.07-0.07-0.14-0.07h-2.19l2.49-4.65c0.07-0.14,0.03-0.22-0.14-0.22H9.68c-0.09,0-0.17,0.05-0.23,0.15l-1.07,2.88C7.66,19.88,7.07,19.5,6.6,18.9c-0.47-0.59-0.7-1.26-0.7-2.02c0-0.84,0.28-1.57,0.84-2.18C7.3,14.09,8,13.73,8.85,13.63l0.51-0.03c0.12,0,0.19-0.05,0.22-0.14l0.07-0.59c0.11-1.08,0.56-1.99,1.37-2.72s1.76-1.1,2.86-1.1c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.29,1.64,1.4,2.72l0.08,0.59c0,0.11,0.06,0.17,0.18,0.17h1.61c0.89,0,1.66,0.32,2.31,0.96s0.97,1.4,0.97,2.29c0,0.87-0.3,1.62-0.9,2.26s-1.32,0.98-2.18,1.03c-0.13,0-0.2,0.06-0.2,0.18v1.34c0,0.11,0.07,0.17,0.2,0.17c0.88-0.02,1.69-0.26,2.42-0.72c0.73-0.45,1.31-1.06,1.74-1.81s0.64-1.57,0.64-2.45c0-0.73-0.14-1.4-0.43-2.02c0.76-0.96,1.14-2.06,1.14-3.29c0-0.95-0.24-1.83-0.71-2.64c-0.47-0.81-1.11-1.45-1.92-1.92c-0.81-0.47-1.69-0.71-2.64-0.71c-0.72,0-1.42,0.15-2.1,0.45c-0.68,0.3-1.26,0.72-1.76,1.25c-0.81-0.43-1.71-0.65-2.72-0.65c-1.42,0-2.68,0.44-3.77,1.32s-1.8,2-2.1,3.37c-1.11,0.26-2.02,0.84-2.74,1.74C4.55,14.7,4.19,15.73,4.19,16.88zM12.07,27.1c0,0.17,0.05,0.33,0.16,0.49c0.11,0.16,0.27,0.27,0.49,0.33c0.09,0.02,0.17,0.03,0.24,0.03c0.43,0,0.7-0.2,0.8-0.61l0.13-0.59c0.06-0.26,0.03-0.48-0.08-0.68c-0.12-0.2-0.29-0.32-0.53-0.37c-0.21-0.07-0.42-0.05-0.63,0.07c-0.21,0.12-0.34,0.29-0.41,0.51l-0.13,0.59C12.08,26.99,12.07,27.07,12.07,27.1zM12.86,24.2c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.23-0.08-0.42-0.23-0.58c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23S12.86,23.97,12.86,24.2zM13.48,21.93c-0.01,0.15,0.03,0.31,0.14,0.47c0.1,0.16,0.25,0.26,0.45,0.3c0.23,0.06,0.44,0.04,0.64-0.06s0.33-0.29,0.41-0.56l0.26-0.9c0.07-0.22,0.05-0.43-0.07-0.63c-0.12-0.2-0.29-0.33-0.53-0.4c-0.22-0.07-0.43-0.04-0.64,0.08s-0.34,0.3-0.41,0.53l-0.22,0.9C13.49,21.74,13.48,21.83,13.48,21.93zM16.24,24.08c0,0.17,0.05,0.33,0.15,0.48c0.1,0.15,0.25,0.26,0.46,0.32c0.03,0,0.08,0.01,0.14,0.02c0.06,0.01,0.11,0.02,0.14,0.02c0.41,0,0.66-0.22,0.76-0.66l0.14-0.6c0.07-0.21,0.05-0.42-0.07-0.63c-0.12-0.21-0.29-0.34-0.51-0.41c-0.25-0.06-0.48-0.04-0.68,0.08s-0.34,0.29-0.41,0.53l-0.09,0.59c0,0.01,0,0.05-0.01,0.11C16.25,24,16.24,24.04,16.24,24.08zM16.98,21.12c0,0.23,0.08,0.42,0.24,0.57c0.15,0.16,0.34,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23S16.98,20.88,16.98,21.12zM18.02,9.02c0.67-0.64,1.48-0.97,2.45-0.97c0.98,0,1.82,0.34,2.51,1.03c0.69,0.68,1.04,1.52,1.04,2.5c0,0.66-0.16,1.26-0.47,1.81c-0.96-0.96-2.13-1.44-3.52-1.44h-0.31C19.42,10.76,18.85,9.78,18.02,9.02z\"}}]})(props);\r\n}\r\nexport const WiNightSleet = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.23,16.99v-0.02c0-1.16,0.36-2.19,1.08-3.09s1.64-1.49,2.74-1.74c0.31-1.37,1.01-2.49,2.1-3.37s2.35-1.32,3.77-1.32c0.99,0,1.9,0.22,2.72,0.66c0.5-0.53,1.09-0.95,1.76-1.25c0.67-0.3,1.37-0.45,2.09-0.45c0.95,0,1.83,0.24,2.64,0.71c0.81,0.47,1.45,1.11,1.92,1.92s0.71,1.69,0.71,2.64c0,1.23-0.38,2.33-1.14,3.29c0.29,0.61,0.43,1.28,0.43,2.02c0,0.88-0.21,1.7-0.64,2.45c-0.42,0.75-1,1.36-1.74,1.81c-0.73,0.45-1.54,0.69-2.42,0.72c-0.13,0-0.2-0.06-0.2-0.17v-1.34c0-0.12,0.07-0.18,0.2-0.18c0.86-0.04,1.58-0.39,2.18-1.03s0.9-1.4,0.9-2.26c0-0.89-0.32-1.65-0.97-2.29c-0.64-0.64-1.41-0.96-2.31-0.96h-1.61c-0.12,0-0.18-0.06-0.18-0.18l-0.08-0.59c-0.11-1.08-0.58-1.99-1.4-2.72c-0.82-0.73-1.78-1.1-2.86-1.1c-1.1,0-2.05,0.37-2.86,1.1c-0.81,0.73-1.27,1.64-1.37,2.72l-0.08,0.59c-0.03,0.09-0.11,0.14-0.22,0.14l-0.51,0.04c-0.84,0.1-1.55,0.45-2.11,1.06s-0.84,1.34-0.84,2.18v0.04c0.01,0.01,0.02,0.02,0.03,0.02c0.01,0.85,0.31,1.59,0.9,2.22c0.28,0.29,0.59,0.52,0.92,0.67v0.02c0.38,0.19,0.79,0.31,1.24,0.34c0.11,0,0.17,0.06,0.17,0.17v1.34c0,0.11-0.06,0.17-0.17,0.17c-0.49-0.02-0.97-0.12-1.43-0.29C6.83,21.41,6.17,21,5.62,20.42s-0.95-1.24-1.18-2C4.3,17.95,4.23,17.48,4.23,16.99zM9.73,24.16c0-0.03,0.01-0.07,0.02-0.13c0.01-0.06,0.02-0.1,0.02-0.12l0.09-0.58c0.07-0.24,0.21-0.42,0.41-0.53c0.21-0.12,0.43-0.15,0.68-0.08c0.23,0.07,0.39,0.21,0.51,0.41c0.11,0.21,0.13,0.42,0.07,0.63l-0.14,0.6c-0.1,0.44-0.35,0.66-0.76,0.66c-0.03,0-0.08,0-0.15-0.01c-0.07-0.01-0.11-0.01-0.13-0.01c-0.21-0.06-0.36-0.17-0.46-0.33C9.78,24.49,9.73,24.33,9.73,24.16zM10.47,21.21c0-0.24,0.08-0.43,0.23-0.59s0.35-0.23,0.59-0.23s0.43,0.08,0.59,0.23s0.23,0.35,0.23,0.59c0,0.23-0.08,0.43-0.23,0.58s-0.35,0.23-0.59,0.23c-0.23,0-0.42-0.08-0.57-0.24C10.56,21.62,10.47,21.43,10.47,21.21zM12.11,27.19c0-0.04,0.01-0.11,0.04-0.23l0.13-0.59c0.07-0.23,0.21-0.39,0.41-0.51c0.21-0.11,0.42-0.13,0.63-0.07c0.23,0.04,0.41,0.17,0.53,0.37c0.12,0.2,0.15,0.43,0.08,0.68l-0.13,0.58c-0.11,0.41-0.37,0.62-0.8,0.62c-0.05,0-0.13-0.01-0.24-0.04c-0.22-0.06-0.38-0.17-0.49-0.33S12.11,27.36,12.11,27.19zM12.9,24.28c0-0.23,0.08-0.42,0.23-0.58c0.16-0.15,0.35-0.23,0.59-0.23s0.43,0.08,0.59,0.23c0.16,0.15,0.23,0.35,0.23,0.58c0,0.24-0.08,0.43-0.23,0.59c-0.16,0.16-0.35,0.23-0.59,0.23c-0.23,0-0.42-0.08-0.58-0.24C12.98,24.7,12.9,24.51,12.9,24.28zM13.52,22.01c0-0.09,0.01-0.18,0.03-0.26l0.23-0.9c0.07-0.24,0.21-0.42,0.41-0.53s0.42-0.15,0.64-0.08c0.24,0.07,0.41,0.2,0.53,0.4s0.14,0.41,0.07,0.63l-0.26,0.9c-0.08,0.27-0.22,0.46-0.41,0.56c-0.19,0.1-0.41,0.12-0.64,0.06c-0.2-0.04-0.35-0.14-0.45-0.3C13.55,22.32,13.51,22.16,13.52,22.01zM16.28,24.16c0-0.03,0-0.08,0.01-0.14c0.01-0.06,0.01-0.1,0.01-0.11l0.09-0.58c0.07-0.24,0.21-0.42,0.41-0.53c0.21-0.12,0.43-0.15,0.67-0.08c0.23,0.07,0.4,0.21,0.51,0.41c0.12,0.21,0.14,0.42,0.07,0.63l-0.14,0.6c-0.1,0.44-0.35,0.66-0.76,0.66c-0.03,0-0.08,0-0.15-0.01c-0.07-0.01-0.11-0.01-0.13-0.01c-0.2-0.06-0.35-0.17-0.45-0.33S16.28,24.33,16.28,24.16zM17.02,21.21c0-0.24,0.08-0.43,0.23-0.59s0.35-0.23,0.59-0.23c0.24,0,0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.59c0,0.23-0.08,0.43-0.23,0.58c-0.16,0.16-0.35,0.23-0.59,0.23c-0.24,0-0.43-0.08-0.58-0.24C17.11,21.63,17.02,21.44,17.02,21.21zM18.06,9.1c0.84,0.76,1.4,1.74,1.7,2.93h0.31c1.38,0,2.55,0.48,3.52,1.44c0.31-0.55,0.47-1.15,0.47-1.81c0-0.98-0.35-1.81-1.04-2.5c-0.69-0.68-1.53-1.03-2.51-1.03C19.54,8.14,18.73,8.46,18.06,9.1z\"}}]})(props);\r\n}\r\nexport const WiNightSnowThunderstorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.23,16.88c0,1.12,0.33,2.12,1,3s1.53,1.47,2.58,1.76l-0.66,1.7c-0.05,0.14,0,0.22,0.14,0.22h2.13L8,27.77h0.29l4.36-5.66c0.04-0.04,0.04-0.09,0.02-0.14c-0.02-0.05-0.07-0.07-0.14-0.07h-2.19l2.49-4.65c0.07-0.14,0.03-0.22-0.14-0.22H9.72c-0.09,0-0.17,0.05-0.23,0.15l-1.07,2.88C7.7,19.88,7.11,19.5,6.64,18.9c-0.47-0.59-0.7-1.26-0.7-2.02c0-0.84,0.28-1.57,0.84-2.18c0.56-0.61,1.27-0.97,2.11-1.07l0.51-0.03c0.12,0,0.19-0.05,0.22-0.14l0.08-0.59c0.11-1.08,0.56-1.99,1.37-2.72s1.76-1.1,2.86-1.1c1.09,0,2.04,0.37,2.86,1.1s1.29,1.64,1.4,2.72l0.08,0.59c0,0.11,0.06,0.17,0.18,0.17h1.61c0.89,0,1.66,0.32,2.31,0.96s0.97,1.4,0.97,2.29c0,0.87-0.3,1.62-0.9,2.26s-1.32,0.98-2.18,1.03c-0.13,0-0.2,0.06-0.2,0.18v1.34c0,0.11,0.07,0.17,0.2,0.17c0.88-0.02,1.69-0.26,2.42-0.72c0.73-0.45,1.31-1.06,1.74-1.81s0.64-1.57,0.64-2.45c0-0.73-0.14-1.4-0.43-2.02c0.76-0.96,1.14-2.06,1.14-3.29c0-0.95-0.24-1.83-0.71-2.64c-0.47-0.81-1.11-1.45-1.92-1.92c-0.81-0.47-1.69-0.71-2.64-0.71c-0.72,0-1.42,0.15-2.1,0.45c-0.68,0.3-1.26,0.72-1.76,1.25c-0.81-0.43-1.71-0.65-2.72-0.65c-1.42,0-2.68,0.44-3.77,1.32s-1.8,2-2.1,3.37c-1.11,0.26-2.02,0.84-2.74,1.74C4.59,14.7,4.23,15.73,4.23,16.88zM13.82,22.96c0,0.24,0.08,0.44,0.24,0.59c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.61-0.24s0.25-0.36,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61s-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26S13.82,22.72,13.82,22.96zM13.82,19.32c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.61-0.23s0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.6s-0.37-0.25-0.61-0.25c-0.23,0-0.42,0.08-0.58,0.25S13.82,19.09,13.82,19.32zM13.82,26.63c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.44-0.08,0.61-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.24-0.08-0.44-0.25-0.61c-0.17-0.17-0.37-0.26-0.61-0.26c-0.22,0-0.41,0.09-0.58,0.26C13.9,26.19,13.82,26.4,13.82,26.63zM17.05,21.02c0,0.24,0.08,0.44,0.25,0.6s0.36,0.25,0.6,0.25c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.6c0-0.22-0.08-0.42-0.24-0.58c-0.16-0.16-0.35-0.24-0.59-0.24c-0.23,0-0.43,0.08-0.6,0.24S17.05,20.79,17.05,21.02zM17.05,24.66c0,0.23,0.08,0.42,0.24,0.58c0.16,0.16,0.36,0.24,0.6,0.24c0.24,0,0.43-0.08,0.59-0.24c0.16-0.16,0.23-0.35,0.23-0.59c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.23C17.13,24.22,17.05,24.42,17.05,24.66zM18.06,9.02c0.67-0.64,1.48-0.97,2.45-0.97c0.98,0,1.82,0.34,2.51,1.03c0.69,0.68,1.04,1.52,1.04,2.5c0,0.66-0.16,1.26-0.47,1.81c-0.96-0.96-2.13-1.44-3.52-1.44h-0.31C19.46,10.76,18.89,9.78,18.06,9.02z\"}}]})(props);\r\n}\r\nexport const WiNightSnowWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.23,16.89c0,1.33,0.47,2.48,1.4,3.44s2.07,1.47,3.4,1.53c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.86-0.05-1.59-0.39-2.19-1.03c-0.6-0.64-0.9-1.39-0.9-2.26c0-0.83,0.28-1.55,0.85-2.17c0.57-0.61,1.27-0.97,2.1-1.07l0.53-0.04c0.13,0,0.2-0.06,0.2-0.18l0.07-0.54c0.11-1.08,0.56-1.99,1.37-2.72c0.81-0.73,1.76-1.1,2.85-1.1c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.64,1.4,2.72l0.08,0.57c0,0.12,0.06,0.19,0.17,0.19h1.62c0.91,0,1.68,0.32,2.33,0.95c0.64,0.63,0.97,1.4,0.97,2.28c0,0.86-0.3,1.61-0.91,2.25c-0.61,0.64-1.34,0.99-2.19,1.04c-0.12,0-0.19,0.06-0.19,0.17v1.34c0,0.11,0.06,0.17,0.19,0.17c1.34-0.04,2.47-0.55,3.4-1.51c0.93-0.97,1.39-2.12,1.39-3.45c0-0.71-0.14-1.38-0.43-2.01c0.79-0.96,1.18-2.07,1.18-3.32c0-0.95-0.24-1.83-0.71-2.64s-1.11-1.45-1.92-1.92s-1.68-0.7-2.62-0.7c-1.55,0-2.85,0.58-3.89,1.73c-0.81-0.43-1.71-0.65-2.71-0.65c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.36c-1.11,0.26-2.02,0.84-2.74,1.74C4.59,14.71,4.23,15.74,4.23,16.89zM9.72,24.61c0,0.21,0.08,0.4,0.24,0.57c0.18,0.16,0.37,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.24-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.23,0-0.43,0.08-0.59,0.23C9.8,24.17,9.72,24.37,9.72,24.61zM10.58,20.98c0,0.24,0.08,0.44,0.24,0.61c0.16,0.17,0.35,0.25,0.59,0.25c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61c0-0.23-0.08-0.42-0.24-0.58c-0.16-0.16-0.35-0.24-0.59-0.24c-0.23,0-0.43,0.08-0.59,0.24C10.66,20.56,10.58,20.76,10.58,20.98zM12.47,26.56c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.44-0.08,0.6-0.23c0.17-0.16,0.25-0.35,0.25-0.59s-0.08-0.44-0.25-0.6c-0.17-0.17-0.37-0.25-0.6-0.25c-0.22,0-0.41,0.08-0.58,0.25C12.56,26.13,12.47,26.33,12.47,26.56zM13.33,22.9c0,0.22,0.08,0.42,0.25,0.6c0.16,0.16,0.35,0.24,0.57,0.24c0.24,0,0.44-0.08,0.61-0.24s0.25-0.36,0.25-0.6c0-0.23-0.08-0.43-0.25-0.6s-0.37-0.25-0.61-0.25c-0.23,0-0.42,0.08-0.58,0.25S13.33,22.67,13.33,22.9zM13.76,19.3c0,0.23,0.08,0.42,0.24,0.58s0.36,0.24,0.58,0.24c0.24,0,0.44-0.08,0.6-0.24c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.59s-0.37-0.24-0.6-0.24c-0.22,0-0.42,0.08-0.58,0.24S13.76,19.07,13.76,19.3zM16.13,24.61c0,0.21,0.08,0.4,0.23,0.57c0.17,0.16,0.38,0.24,0.6,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.24C16.21,24.18,16.13,24.38,16.13,24.61zM16.98,20.98c0,0.24,0.08,0.44,0.24,0.61c0.16,0.17,0.36,0.25,0.59,0.25c0.23,0,0.43-0.08,0.59-0.25c0.16-0.17,0.24-0.37,0.24-0.61c0-0.23-0.08-0.42-0.24-0.58c-0.16-0.16-0.35-0.24-0.59-0.24c-0.23,0-0.43,0.08-0.59,0.24S16.98,20.76,16.98,20.98zM18.03,9.02c0.68-0.68,1.5-1.01,2.48-1.01c0.98,0,1.81,0.35,2.5,1.04s1.03,1.53,1.03,2.52c0,0.59-0.17,1.2-0.51,1.84c-0.96-0.96-2.13-1.44-3.5-1.44h-0.31C19.44,10.8,18.87,9.82,18.03,9.02z\"}}]})(props);\r\n}\r\nexport const WiNightSnow = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.23,16.89c0,1.33,0.47,2.48,1.4,3.44s2.07,1.47,3.4,1.53c0.12,0,0.18-0.06,0.18-0.17v-1.34c0-0.11-0.06-0.17-0.18-0.17c-0.86-0.05-1.59-0.39-2.19-1.03c-0.6-0.64-0.9-1.39-0.9-2.26c0-0.83,0.28-1.55,0.85-2.17c0.57-0.61,1.27-0.97,2.1-1.07l0.53-0.04c0.13,0,0.2-0.06,0.2-0.18l0.07-0.54c0.11-1.08,0.56-1.99,1.37-2.72c0.81-0.73,1.76-1.1,2.85-1.1c1.09,0,2.04,0.37,2.86,1.1c0.82,0.73,1.28,1.64,1.4,2.72l0.08,0.57c0,0.12,0.06,0.19,0.17,0.19h1.62c0.91,0,1.68,0.32,2.33,0.95c0.64,0.63,0.97,1.4,0.97,2.28c0,0.86-0.3,1.61-0.91,2.25c-0.61,0.64-1.34,0.99-2.19,1.04c-0.12,0-0.19,0.06-0.19,0.17v1.34c0,0.11,0.06,0.17,0.19,0.17c1.34-0.04,2.47-0.55,3.4-1.51c0.93-0.97,1.39-2.12,1.39-3.45c0-0.71-0.14-1.38-0.43-2.01c0.79-0.96,1.18-2.07,1.18-3.32c0-0.95-0.24-1.83-0.71-2.64s-1.11-1.45-1.92-1.92s-1.68-0.7-2.62-0.7c-1.55,0-2.85,0.58-3.89,1.73c-0.81-0.43-1.71-0.65-2.71-0.65c-1.41,0-2.67,0.44-3.76,1.32s-1.8,2-2.11,3.36c-1.11,0.26-2.02,0.84-2.74,1.74C4.59,14.71,4.23,15.74,4.23,16.89zM10.62,21.01c0,0.22,0.08,0.41,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.23,0,0.43-0.08,0.59-0.23s0.24-0.35,0.24-0.59c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23C10.7,20.57,10.62,20.77,10.62,21.01zM10.62,24.64c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.24-0.08-0.44-0.24-0.6s-0.35-0.25-0.59-0.25c-0.23,0-0.43,0.08-0.59,0.25S10.62,24.4,10.62,24.64zM13.81,22.9c0,0.23,0.08,0.44,0.25,0.61s0.36,0.27,0.58,0.27c0.23,0,0.43-0.09,0.6-0.26c0.17-0.17,0.25-0.38,0.25-0.62c0-0.22-0.08-0.41-0.25-0.58c-0.17-0.17-0.37-0.25-0.6-0.25c-0.22,0-0.41,0.08-0.58,0.25S13.81,22.68,13.81,22.9zM13.81,19.31c0,0.23,0.08,0.42,0.24,0.58s0.36,0.24,0.59,0.24c0.24,0,0.44-0.08,0.6-0.24s0.25-0.35,0.25-0.59s-0.08-0.43-0.25-0.6s-0.37-0.25-0.6-0.25c-0.23,0-0.42,0.08-0.59,0.25S13.81,19.08,13.81,19.31zM13.81,26.58c0,0.23,0.08,0.43,0.25,0.6c0.17,0.17,0.36,0.25,0.59,0.25c0.23,0,0.43-0.08,0.6-0.25c0.17-0.17,0.25-0.37,0.25-0.6c0-0.22-0.08-0.41-0.25-0.58c-0.17-0.17-0.37-0.25-0.6-0.25c-0.22,0-0.41,0.08-0.58,0.25C13.9,26.17,13.81,26.36,13.81,26.58zM17.05,21.01c0,0.21,0.08,0.4,0.24,0.57c0.17,0.17,0.37,0.25,0.6,0.25c0.23,0,0.43-0.08,0.59-0.23c0.16-0.16,0.24-0.35,0.24-0.59c0-0.24-0.08-0.43-0.23-0.59c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.44,0.08-0.6,0.23C17.13,20.57,17.05,20.77,17.05,21.01zM17.05,24.64c0,0.22,0.08,0.42,0.24,0.58s0.36,0.24,0.6,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.24-0.08-0.44-0.24-0.6c-0.16-0.17-0.35-0.25-0.59-0.25c-0.23,0-0.43,0.08-0.6,0.25S17.05,24.4,17.05,24.64zM18.03,9.02c0.68-0.68,1.5-1.01,2.48-1.01c0.98,0,1.81,0.35,2.5,1.04s1.03,1.53,1.03,2.52c0,0.59-0.17,1.2-0.51,1.84c-0.96-0.96-2.13-1.44-3.5-1.44h-0.31C19.44,10.8,18.87,9.82,18.03,9.02z\"}}]})(props);\r\n}\r\nexport const WiNightSprinkle = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.22,16.89c0,1.33,0.46,2.48,1.39,3.44s2.06,1.47,3.41,1.53c0.11,0,0.17-0.06,0.17-0.17v-1.37c0-0.13-0.06-0.19-0.17-0.19c-0.88-0.06-1.61-0.41-2.21-1.03c-0.6-0.62-0.9-1.36-0.9-2.21c0-0.84,0.28-1.58,0.85-2.2c0.57-0.62,1.27-0.97,2.11-1.04l0.52-0.07c0.12,0,0.19-0.06,0.19-0.19l0.07-0.5c0.11-1.08,0.57-1.99,1.38-2.72s1.77-1.1,2.87-1.1c1.09,0,2.05,0.36,2.86,1.09c0.81,0.73,1.28,1.64,1.4,2.72l0.06,0.57c0,0.12,0.06,0.18,0.19,0.18h1.6c0.91,0,1.68,0.32,2.32,0.95c0.64,0.63,0.97,1.4,0.97,2.28c0,0.85-0.3,1.59-0.89,2.21c-0.59,0.62-1.33,0.97-2.19,1.03c-0.14,0-0.21,0.06-0.21,0.19v1.37c0,0.11,0.07,0.17,0.21,0.17c1.33-0.04,2.46-0.55,3.39-1.51c0.93-0.97,1.39-2.12,1.39-3.45c0-0.74-0.14-1.41-0.43-2.01c0.79-0.96,1.18-2.07,1.18-3.36c0-0.94-0.24-1.82-0.71-2.63s-1.11-1.45-1.92-1.92c-0.81-0.47-1.68-0.71-2.62-0.71c-1.52,0-2.83,0.58-3.93,1.75C15.74,7.61,14.85,7.4,13.9,7.4c-1.41,0-2.67,0.44-3.76,1.31s-1.8,2-2.1,3.37c-1.11,0.26-2.02,0.84-2.74,1.74C4.58,14.71,4.22,15.74,4.22,16.89zM10.15,17.77c0,0.38,0.14,0.7,0.43,0.98c0.28,0.27,0.62,0.41,1.02,0.41s0.73-0.13,1-0.4c0.27-0.27,0.41-0.6,0.41-0.98c0-0.26-0.12-0.6-0.35-1.02c-0.23-0.42-0.45-0.76-0.66-1c-0.02-0.02-0.08-0.09-0.18-0.2c-0.1-0.11-0.17-0.19-0.21-0.24l-0.36,0.4c-0.28,0.3-0.53,0.65-0.75,1.05C10.27,17.17,10.15,17.51,10.15,17.77zM13.14,21.76c0,0.63,0.23,1.18,0.69,1.64c0.46,0.46,1.01,0.69,1.65,0.69c0.64,0,1.2-0.23,1.66-0.69c0.46-0.46,0.69-1.01,0.69-1.64c0-0.27-0.08-0.59-0.23-0.97c-0.16-0.38-0.34-0.72-0.56-1.04c-0.46-0.59-0.89-1.09-1.29-1.49c-0.06-0.04-0.14-0.13-0.26-0.24L14.9,18.6c-0.44,0.42-0.85,0.95-1.21,1.56C13.32,20.78,13.14,21.31,13.14,21.76zM14.62,15.06c0,0.27,0.09,0.49,0.28,0.67s0.43,0.27,0.71,0.27c0.26,0,0.48-0.09,0.66-0.27s0.27-0.4,0.27-0.67c0-0.41-0.31-0.94-0.93-1.61l-0.25,0.26c-0.19,0.2-0.36,0.43-0.51,0.7C14.69,14.67,14.62,14.89,14.62,15.06zM18.01,9.02c0.67-0.66,1.5-0.99,2.48-0.99c0.98,0,1.81,0.34,2.49,1.02s1.03,1.51,1.03,2.48c0,0.63-0.17,1.25-0.51,1.85c-1-0.96-2.17-1.44-3.51-1.44H19.7C19.42,10.76,18.85,9.79,18.01,9.02z\"}}]})(props);\r\n}\r\nexport const WiNightStormShowers = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.25,16.86c0,1.1,0.33,2.09,1,2.98c0.67,0.88,1.52,1.48,2.57,1.8l-0.65,1.66c-0.04,0.14,0,0.21,0.14,0.21h2.12l-1.14,4.09h0.29l4.08-5.49c0.04-0.04,0.04-0.09,0.01-0.14c-0.03-0.05-0.08-0.07-0.15-0.07h-2.17l2.47-4.67c0.07-0.14,0.03-0.22-0.13-0.22H9.73c-0.09,0-0.16,0.05-0.19,0.14l-1.11,2.93c-0.71-0.18-1.3-0.57-1.78-1.17c-0.47-0.6-0.71-1.27-0.71-2.02c0-0.84,0.28-1.57,0.85-2.19s1.27-0.97,2.1-1.05l0.52-0.07c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.11-1.09,0.56-2,1.37-2.72c0.81-0.73,1.76-1.09,2.86-1.09c1.09,0,2.05,0.36,2.86,1.09c0.81,0.73,1.28,1.64,1.4,2.72l0.07,0.58c0,0.11,0.06,0.17,0.18,0.17h1.62c0.91,0,1.68,0.32,2.33,0.95c0.64,0.63,0.97,1.4,0.97,2.28c0,0.86-0.3,1.6-0.9,2.23c-0.6,0.63-1.33,0.97-2.2,1.04c-0.12,0-0.19,0.06-0.19,0.18v1.38c0,0.11,0.06,0.17,0.19,0.17c1.33-0.04,2.46-0.55,3.39-1.52c0.93-0.97,1.39-2.12,1.39-3.47c0-0.73-0.14-1.39-0.41-2c0.76-1,1.14-2.1,1.14-3.29c0-0.71-0.14-1.39-0.42-2.04c-0.28-0.65-0.66-1.2-1.12-1.67s-1.03-0.84-1.68-1.12c-0.65-0.28-1.33-0.42-2.03-0.42c-0.74,0-1.44,0.15-2.12,0.45c-0.67,0.3-1.26,0.72-1.74,1.26c-0.82-0.44-1.72-0.66-2.7-0.66c-1.42,0-2.68,0.44-3.77,1.31s-1.8,2-2.11,3.37c-1.11,0.26-2.02,0.83-2.74,1.73S4.25,15.71,4.25,16.86zM12.42,26.73c0,0.18,0.05,0.35,0.16,0.51c0.11,0.17,0.26,0.27,0.46,0.3c0.02,0,0.05,0,0.08,0.01s0.07,0.01,0.09,0.01s0.05,0,0.08,0c0.43-0.03,0.69-0.23,0.8-0.61l0.29-1.06c0.06-0.22,0.03-0.43-0.09-0.63c-0.12-0.2-0.3-0.34-0.53-0.41c-0.22-0.06-0.43-0.03-0.63,0.08c-0.2,0.12-0.34,0.3-0.41,0.53l-0.25,1C12.44,26.64,12.42,26.72,12.42,26.73zM13.76,21.96c0,0.15,0.05,0.3,0.15,0.45c0.1,0.15,0.26,0.26,0.46,0.34c0.22,0.08,0.43,0.06,0.63-0.05c0.2-0.11,0.33-0.29,0.4-0.53l0.3-1.04c0.06-0.25,0.04-0.48-0.08-0.68s-0.29-0.32-0.53-0.37c-0.22-0.07-0.44-0.05-0.64,0.07s-0.34,0.29-0.42,0.53l-0.25,1.02c0,0.02,0,0.05-0.01,0.08s-0.01,0.07-0.01,0.09C13.76,21.9,13.76,21.93,13.76,21.96zM16.59,23.58c0,0.19,0.05,0.36,0.16,0.52c0.11,0.16,0.26,0.27,0.47,0.32c0.16,0.03,0.25,0.05,0.27,0.05c0.39,0,0.65-0.2,0.77-0.6l0.24-1.06c0.07-0.22,0.05-0.43-0.06-0.63c-0.11-0.2-0.27-0.34-0.5-0.41c-0.25-0.06-0.48-0.03-0.68,0.09c-0.21,0.12-0.33,0.3-0.38,0.53l-0.28,0.99C16.6,23.43,16.59,23.5,16.59,23.58zM17.95,18.83c0,0.16,0.05,0.32,0.16,0.47c0.11,0.15,0.27,0.27,0.49,0.34c0.17,0.02,0.26,0.03,0.26,0.03c0.12,0,0.24-0.03,0.38-0.08c0.19-0.1,0.33-0.27,0.39-0.52l0.29-1.04c0.06-0.22,0.03-0.43-0.09-0.63c-0.12-0.2-0.3-0.34-0.53-0.41c-0.23-0.07-0.44-0.05-0.64,0.07s-0.33,0.29-0.4,0.53l-0.28,1.02C17.96,18.7,17.95,18.77,17.95,18.83zM18.06,8.98c0.66-0.64,1.48-0.96,2.45-0.96c0.98,0,1.82,0.35,2.5,1.04c0.69,0.69,1.03,1.53,1.03,2.51c0,0.63-0.16,1.22-0.49,1.78c-0.99-0.96-2.15-1.44-3.49-1.44h-0.32C19.44,10.75,18.88,9.77,18.06,8.98z\"}}]})(props);\r\n}\r\nexport const WiNightThunderstorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.28,16.89c0,1.11,0.33,2.11,0.99,2.98s1.52,1.46,2.56,1.75l-0.64,1.68c-0.05,0.14,0,0.22,0.14,0.22h2.12l-1.04,4.19h0.28l3.97-5.62c0.04-0.04,0.04-0.09,0.01-0.14c-0.03-0.05-0.08-0.07-0.15-0.07h-2.17l2.47-4.61c0.07-0.14,0.02-0.22-0.14-0.22H9.74c-0.09,0-0.16,0.05-0.23,0.14l-1.07,2.87c-0.71-0.17-1.3-0.56-1.77-1.14s-0.7-1.26-0.7-2.02c0-0.83,0.28-1.55,0.84-2.16s1.26-0.96,2.1-1.06l0.53-0.04c0.12,0,0.18-0.06,0.18-0.18l0.07-0.53c0.07-0.71,0.3-1.35,0.69-1.94c0.39-0.58,0.9-1.04,1.52-1.37s1.29-0.5,2.01-0.5c1.08,0,2.03,0.37,2.84,1.1c0.81,0.73,1.27,1.63,1.39,2.71l0.08,0.56c0,0.12,0.06,0.19,0.17,0.19h1.62c0.89,0,1.65,0.32,2.3,0.96s0.97,1.39,0.97,2.27c0,0.86-0.3,1.61-0.9,2.25s-1.33,0.97-2.18,1.02c-0.13,0-0.2,0.06-0.2,0.18v1.34c0,0.11,0.07,0.17,0.2,0.17c0.87-0.02,1.67-0.26,2.4-0.72c0.73-0.45,1.31-1.05,1.72-1.8s0.63-1.56,0.63-2.43c0-0.73-0.14-1.4-0.42-2.01c0.78-0.93,1.17-2.03,1.17-3.31c0-0.71-0.14-1.38-0.42-2.02c-0.28-0.64-0.65-1.2-1.12-1.67c-0.47-0.47-1.02-0.84-1.67-1.12c-0.64-0.28-1.32-0.42-2.02-0.42c-1.54,0-2.83,0.58-3.86,1.73c-0.81-0.43-1.71-0.65-2.7-0.65c-1.41,0-2.66,0.44-3.75,1.31s-1.79,1.99-2.1,3.35c-1.1,0.26-2.01,0.83-2.73,1.73S4.28,15.74,4.28,16.89zM12.21,26.77c0,0.16,0.05,0.32,0.15,0.46s0.25,0.25,0.45,0.31l0.25,0.03c0.42,0,0.68-0.2,0.8-0.6l2.43-8.89c0.06-0.23,0.04-0.45-0.07-0.64c-0.11-0.2-0.27-0.33-0.49-0.4c-0.23-0.07-0.45-0.05-0.65,0.06c-0.2,0.11-0.34,0.28-0.4,0.5l-2.45,8.9C12.22,26.67,12.21,26.76,12.21,26.77zM16.35,23.74c0,0.4,0.21,0.67,0.62,0.8c0.17,0.02,0.26,0.03,0.26,0.03c0.11,0,0.23-0.02,0.35-0.08c0.2-0.09,0.34-0.27,0.42-0.55l1.64-5.85c0.06-0.23,0.04-0.45-0.08-0.64c-0.11-0.2-0.28-0.33-0.51-0.4c-0.23-0.07-0.45-0.05-0.65,0.06c-0.2,0.11-0.33,0.28-0.39,0.5l-1.62,5.89C16.37,23.64,16.35,23.72,16.35,23.74zM18.02,9.04c0.68-0.64,1.5-0.96,2.48-0.96c0.97,0,1.8,0.34,2.48,1.02c0.69,0.68,1.03,1.51,1.03,2.48c0,0.63-0.17,1.25-0.51,1.85c-0.96-0.96-2.12-1.44-3.48-1.44h-0.32C19.42,10.84,18.86,9.86,18.02,9.04z\"}}]})(props);\r\n}\r\nexport const WiRainMix = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.65,16.96c0,1.32,0.47,2.46,1.4,3.41c0.93,0.96,2.06,1.46,3.38,1.5c0.12,0,0.18-0.06,0.18-0.17v-1.33c0-0.12-0.06-0.18-0.18-0.18c-0.84-0.04-1.57-0.38-2.17-1.02s-0.91-1.37-0.91-2.22c0-0.84,0.28-1.57,0.85-2.19c0.57-0.62,1.26-0.97,2.1-1.04l0.53-0.07c0.12,0,0.19-0.06,0.19-0.18l0.07-0.5c0.1-1.09,0.55-2.01,1.36-2.75s1.76-1.11,2.86-1.11c1.08,0,2.03,0.37,2.84,1.1c0.81,0.73,1.28,1.63,1.4,2.71l0.07,0.58c0,0.12,0.06,0.18,0.19,0.18h1.6c0.9,0,1.67,0.32,2.32,0.97c0.64,0.64,0.97,1.41,0.97,2.3c0,0.84-0.3,1.58-0.9,2.22c-0.6,0.63-1.33,0.97-2.18,1.02c-0.13,0-0.2,0.06-0.2,0.18v1.33c0,0.11,0.07,0.17,0.2,0.17c1.33-0.04,2.46-0.54,3.38-1.5s1.38-2.09,1.38-3.42c0-0.89-0.22-1.72-0.67-2.48c-0.44-0.76-1.05-1.36-1.81-1.8c-0.76-0.44-1.59-0.66-2.48-0.66h-0.31c-0.33-1.34-1.03-2.43-2.11-3.29c-1.07-0.85-2.3-1.28-3.68-1.28c-1.41,0-2.66,0.44-3.75,1.31s-1.79,1.99-2.1,3.35c-1.13,0.29-2.04,0.88-2.75,1.77S4.65,15.8,4.65,16.96zM10.05,23.98c0,0.17,0.05,0.34,0.16,0.51c0.11,0.17,0.27,0.28,0.47,0.35c0.23,0.07,0.44,0.06,0.64-0.04c0.19-0.09,0.33-0.28,0.39-0.56l0.14-0.61c0.05-0.23,0.02-0.44-0.09-0.63s-0.28-0.33-0.52-0.4c-0.22-0.07-0.44-0.04-0.64,0.08s-0.34,0.3-0.4,0.53l-0.14,0.59C10.06,23.83,10.05,23.89,10.05,23.98zM10.81,21.08c0,0.21,0.08,0.4,0.25,0.57c0.16,0.17,0.34,0.25,0.56,0.25c0.24,0,0.44-0.08,0.6-0.24c0.16-0.16,0.24-0.35,0.24-0.59c0-0.23-0.08-0.43-0.24-0.59c-0.16-0.16-0.36-0.24-0.6-0.24c-0.23,0-0.42,0.08-0.58,0.23C10.89,20.65,10.81,20.85,10.81,21.08zM11.42,18.81c-0.01,0.16,0.03,0.31,0.14,0.45c0.1,0.15,0.26,0.25,0.48,0.32c0.21,0.06,0.41,0.04,0.62-0.07S13,19.23,13.07,19l0.28-0.9c0.07-0.24,0.05-0.46-0.07-0.65c-0.12-0.19-0.3-0.32-0.54-0.39c-0.22-0.07-0.43-0.05-0.63,0.07c-0.2,0.11-0.34,0.28-0.41,0.5l-0.24,0.92c0,0.02-0.01,0.06-0.02,0.12C11.43,18.72,11.42,18.77,11.42,18.81zM12.59,27.1c0,0.18,0.05,0.34,0.15,0.5c0.1,0.16,0.26,0.27,0.48,0.33c0.08,0.02,0.17,0.03,0.25,0.03c0.43,0,0.69-0.2,0.79-0.61l0.14-0.59c0.06-0.26,0.03-0.48-0.08-0.68c-0.12-0.2-0.29-0.32-0.52-0.37c-0.21-0.07-0.42-0.05-0.63,0.07c-0.21,0.12-0.34,0.29-0.41,0.51l-0.14,0.59C12.6,26.97,12.59,27.04,12.59,27.1zM13.36,24.2c0,0.22,0.08,0.41,0.25,0.58c0.16,0.16,0.35,0.24,0.57,0.24c0.24,0,0.43-0.08,0.59-0.23c0.16-0.16,0.23-0.35,0.23-0.59c0-0.23-0.08-0.42-0.23-0.58c-0.16-0.16-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23S13.36,23.97,13.36,24.2zM13.99,21.93c-0.01,0.15,0.03,0.31,0.13,0.47c0.1,0.16,0.25,0.26,0.45,0.3c0.23,0.06,0.44,0.04,0.64-0.06s0.33-0.29,0.41-0.56l0.27-0.9c0.07-0.22,0.05-0.43-0.07-0.63c-0.12-0.2-0.29-0.33-0.53-0.4c-0.22-0.07-0.43-0.04-0.64,0.08c-0.21,0.12-0.34,0.3-0.41,0.53l-0.23,0.9C14,21.74,13.99,21.83,13.99,21.93zM16.75,24.08c0,0.16,0.05,0.32,0.15,0.48c0.1,0.16,0.26,0.27,0.46,0.33c0.03,0,0.08,0.01,0.14,0.02c0.06,0.01,0.1,0.02,0.14,0.02c0.41,0,0.66-0.22,0.76-0.66l0.14-0.6c0.07-0.21,0.05-0.42-0.07-0.63c-0.11-0.21-0.28-0.34-0.51-0.41c-0.25-0.06-0.48-0.04-0.68,0.08s-0.34,0.29-0.41,0.53l-0.09,0.59c0,0.02-0.01,0.07-0.02,0.12S16.75,24.04,16.75,24.08zM17.49,21.12c0,0.22,0.08,0.42,0.25,0.57c0.15,0.16,0.34,0.24,0.57,0.24c0.24,0,0.43-0.08,0.59-0.23s0.23-0.35,0.23-0.58c0-0.24-0.08-0.43-0.23-0.59s-0.35-0.23-0.59-0.23c-0.24,0-0.43,0.08-0.59,0.23C17.57,20.69,17.49,20.88,17.49,21.12zM18.1,18.81c0,0.17,0.05,0.33,0.16,0.48c0.11,0.15,0.27,0.26,0.49,0.32c0.02,0,0.06,0.01,0.12,0.02s0.11,0.02,0.14,0.02c0.1,0,0.22-0.03,0.36-0.09c0.21-0.11,0.35-0.29,0.41-0.52l0.24-0.9c0.06-0.23,0.04-0.44-0.08-0.63c-0.11-0.2-0.28-0.33-0.51-0.4c-0.23-0.07-0.44-0.05-0.64,0.06c-0.19,0.11-0.33,0.27-0.39,0.51l-0.28,0.91c0,0.02-0.01,0.06-0.02,0.12C18.1,18.74,18.1,18.78,18.1,18.81z\"}}]})(props);\r\n}\r\nexport const WiRainWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.63,16.93c0,1.12,0.33,2.11,0.98,2.99c0.65,0.87,1.5,1.47,2.55,1.79c0.09,0.02,0.17-0.01,0.24-0.08l1.16-1.43c-0.89,0-1.65-0.32-2.28-0.96c-0.63-0.64-0.95-1.41-0.95-2.31c0-0.84,0.28-1.58,0.84-2.2s1.26-0.97,2.1-1.04l0.53-0.07c0.11,0,0.16-0.04,0.16-0.13l0.08-0.55c0.12-1.1,0.59-2.01,1.39-2.73s1.75-1.08,2.85-1.08c1.1,0,2.06,0.36,2.87,1.09c0.82,0.73,1.27,1.64,1.37,2.72l0.07,0.58c0.02,0.11,0.1,0.17,0.22,0.17h1.62c0.9,0,1.67,0.32,2.3,0.95s0.95,1.39,0.95,2.29c0,0.83-0.28,1.56-0.84,2.18s-1.25,0.98-2.07,1.08c-0.12,0-0.28,0.02-0.49,0.06c-0.19,0.02-0.33,0.09-0.41,0.23l-2.36,2.79c-0.14,0.18-0.2,0.39-0.16,0.63c0.03,0.24,0.14,0.43,0.31,0.57c0.11,0.12,0.29,0.19,0.56,0.19c0.26,0,0.47-0.12,0.61-0.35l2.12-2.44c1.24-0.13,2.29-0.66,3.15-1.61c0.86-0.95,1.28-2.06,1.28-3.33c0-0.67-0.13-1.32-0.39-1.93c-0.26-0.61-0.61-1.14-1.05-1.58c-0.44-0.44-0.97-0.79-1.58-1.05c-0.61-0.26-1.25-0.39-1.93-0.39h-0.32c-0.33-1.32-1.04-2.41-2.12-3.26s-2.32-1.27-3.72-1.27c-0.93,0-1.81,0.2-2.63,0.6c-0.82,0.4-1.51,0.95-2.08,1.66s-0.94,1.52-1.13,2.42c-1.12,0.25-2.04,0.82-2.75,1.72C4.98,14.74,4.63,15.77,4.63,16.93zM8.01,24.95c0,0.06,0.02,0.16,0.06,0.3c0.09,0.21,0.23,0.36,0.44,0.44c0.22,0.1,0.44,0.11,0.67,0.02c0.23-0.09,0.38-0.24,0.46-0.45c0.1-0.22,0.11-0.43,0.02-0.65c-0.09-0.21-0.24-0.36-0.46-0.43c-0.22-0.11-0.44-0.12-0.65-0.03c-0.21,0.09-0.36,0.24-0.46,0.47C8.04,24.72,8.01,24.83,8.01,24.95zM9.86,22.51v0.1c0.02,0.23,0.12,0.41,0.3,0.56c0.23,0.13,0.43,0.19,0.62,0.19c0.22,0,0.43-0.11,0.61-0.33l2.32-2.77c0.14-0.17,0.21-0.39,0.2-0.66c-0.02-0.21-0.12-0.39-0.28-0.53c-0.16-0.14-0.33-0.22-0.52-0.22c-0.06,0-0.1,0-0.14,0.01c-0.23,0.04-0.42,0.15-0.56,0.33l-2.36,2.77C9.92,22.12,9.86,22.3,9.86,22.51zM10.63,27.23c0,0.12,0.03,0.23,0.08,0.32c0.08,0.21,0.23,0.37,0.44,0.47c0.11,0.05,0.22,0.07,0.33,0.07c0.12,0,0.23-0.02,0.31-0.07c0.23-0.09,0.39-0.23,0.47-0.41c0.1-0.22,0.11-0.44,0.02-0.67c-0.08-0.23-0.23-0.38-0.45-0.46c-0.22-0.1-0.44-0.11-0.67-0.02c-0.23,0.09-0.38,0.24-0.45,0.45C10.65,27,10.63,27.11,10.63,27.23zM12.3,24.88v0.11c0.02,0.22,0.13,0.4,0.31,0.55c0.18,0.15,0.37,0.22,0.55,0.22c0.23,0,0.43-0.11,0.63-0.33l4.35-5.24c0.11-0.12,0.17-0.3,0.17-0.52v-0.12c-0.02-0.23-0.12-0.4-0.27-0.53s-0.33-0.2-0.52-0.2h-0.13c-0.23,0.01-0.42,0.12-0.55,0.31l-4.35,5.2C12.35,24.51,12.3,24.69,12.3,24.88zM15.81,26.03c0,0.09,0.02,0.19,0.06,0.3c0.09,0.22,0.24,0.38,0.46,0.47c0.14,0.04,0.24,0.06,0.31,0.06c0.14,0,0.26-0.03,0.34-0.08c0.22-0.09,0.38-0.23,0.46-0.42c0.1-0.17,0.11-0.39,0.02-0.67c-0.08-0.21-0.23-0.35-0.44-0.44l-0.36-0.09c-0.09,0.02-0.19,0.04-0.32,0.07c-0.22,0.08-0.37,0.23-0.45,0.44C15.84,25.8,15.81,25.92,15.81,26.03z\"}}]})(props);\r\n}\r\nexport const WiRain = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.64,16.91c0-1.15,0.36-2.17,1.08-3.07c0.72-0.9,1.63-1.47,2.73-1.73c0.31-1.36,1.02-2.48,2.11-3.36s2.34-1.31,3.75-1.31c1.38,0,2.6,0.43,3.68,1.28c1.08,0.85,1.78,1.95,2.1,3.29h0.32c0.89,0,1.72,0.22,2.48,0.65s1.37,1.03,1.81,1.78c0.44,0.75,0.67,1.58,0.67,2.47c0,0.88-0.21,1.69-0.63,2.44c-0.42,0.75-1,1.35-1.73,1.8c-0.73,0.45-1.53,0.69-2.4,0.71c-0.13,0-0.2-0.06-0.2-0.17v-1.33c0-0.12,0.07-0.18,0.2-0.18c0.85-0.04,1.58-0.38,2.18-1.02s0.9-1.39,0.9-2.26s-0.33-1.62-0.98-2.26s-1.42-0.96-2.31-0.96h-1.61c-0.12,0-0.18-0.06-0.18-0.17l-0.08-0.58c-0.11-1.08-0.58-1.99-1.39-2.71c-0.82-0.73-1.76-1.09-2.85-1.09c-1.09,0-2.05,0.36-2.85,1.09c-0.81,0.73-1.26,1.63-1.36,2.71l-0.07,0.53c0,0.12-0.07,0.19-0.2,0.19l-0.53,0.03c-0.83,0.1-1.53,0.46-2.1,1.07s-0.85,1.33-0.85,2.16c0,0.87,0.3,1.62,0.9,2.26s1.33,0.98,2.18,1.02c0.11,0,0.17,0.06,0.17,0.18v1.33c0,0.11-0.06,0.17-0.17,0.17c-1.34-0.06-2.47-0.57-3.4-1.53S4.64,18.24,4.64,16.91zM9.99,23.6c0-0.04,0.01-0.11,0.04-0.2l1.63-5.77c0.06-0.19,0.17-0.34,0.32-0.44c0.15-0.1,0.31-0.15,0.46-0.15c0.07,0,0.15,0.01,0.24,0.03c0.24,0.04,0.42,0.17,0.54,0.37c0.12,0.2,0.15,0.42,0.08,0.67l-1.63,5.73c-0.12,0.43-0.4,0.64-0.82,0.64c-0.04,0-0.07-0.01-0.11-0.02c-0.06-0.02-0.09-0.03-0.1-0.03c-0.22-0.06-0.38-0.17-0.49-0.33C10.04,23.93,9.99,23.77,9.99,23.6zM12.61,26.41l2.44-8.77c0.04-0.19,0.14-0.34,0.3-0.44c0.16-0.1,0.32-0.15,0.49-0.15c0.09,0,0.18,0.01,0.27,0.03c0.22,0.06,0.38,0.19,0.49,0.39c0.11,0.2,0.13,0.41,0.07,0.64l-2.43,8.78c-0.04,0.17-0.13,0.31-0.29,0.43c-0.16,0.12-0.32,0.18-0.51,0.18c-0.09,0-0.18-0.02-0.25-0.05c-0.2-0.05-0.37-0.18-0.52-0.39C12.56,26.88,12.54,26.67,12.61,26.41zM16.74,23.62c0-0.04,0.01-0.11,0.04-0.23l1.63-5.77c0.06-0.19,0.16-0.34,0.3-0.44c0.15-0.1,0.3-0.15,0.46-0.15c0.08,0,0.17,0.01,0.26,0.03c0.21,0.06,0.36,0.16,0.46,0.31c0.1,0.15,0.15,0.31,0.15,0.47c0,0.03-0.01,0.08-0.02,0.14s-0.02,0.1-0.02,0.12l-1.63,5.73c-0.04,0.19-0.13,0.35-0.28,0.46s-0.32,0.17-0.51,0.17l-0.24-0.05c-0.2-0.06-0.35-0.16-0.46-0.32C16.79,23.94,16.74,23.78,16.74,23.62z\"}}]})(props);\r\n}\r\nexport const WiRaindrop = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.81,15.25c0,0.92,0.23,1.78,0.7,2.57s1.1,1.43,1.9,1.9c0.8,0.47,1.66,0.71,2.59,0.71c0.93,0,1.8-0.24,2.61-0.71c0.81-0.47,1.45-1.11,1.92-1.9c0.47-0.8,0.71-1.65,0.71-2.57c0-0.6-0.17-1.31-0.52-2.14c-0.35-0.83-0.77-1.6-1.26-2.3c-0.44-0.57-0.96-1.2-1.56-1.88c-0.6-0.68-1.65-1.73-1.89-1.97l-1.28,1.29c-0.62,0.6-1.22,1.29-1.79,2.08c-0.57,0.79-1.07,1.64-1.49,2.55C10.01,13.79,9.81,14.58,9.81,15.25z\"}}]})(props);\r\n}\r\nexport const WiRaindrops = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.01,12.23c0-0.26,0.13-0.59,0.38-1.01c0.25-0.42,0.5-0.77,0.73-1.04c0.06-0.07,0.14-0.17,0.23-0.28s0.15-0.17,0.16-0.18l0.37,0.43c0.28,0.31,0.53,0.66,0.76,1.07c0.23,0.41,0.35,0.74,0.35,1.01c0,0.41-0.14,0.77-0.43,1.06c-0.28,0.29-0.63,0.44-1.05,0.44c-0.41,0-0.77-0.15-1.06-0.44C11.16,12.99,11.01,12.64,11.01,12.23zM14.13,16.38c0-0.29,0.08-0.62,0.24-1.01c0.16-0.38,0.36-0.74,0.6-1.06c0.46-0.61,0.89-1.12,1.31-1.53c0.04-0.03,0.13-0.11,0.26-0.24l0.25,0.24c0.39,0.37,0.83,0.88,1.32,1.52c0.26,0.34,0.46,0.7,0.62,1.08s0.24,0.71,0.24,1c0,0.69-0.23,1.26-0.7,1.73c-0.47,0.47-1.05,0.7-1.73,0.7c-0.68,0-1.25-0.24-1.72-0.71S14.13,17.05,14.13,16.38zM15.65,9.48c0-0.43,0.33-1,1-1.7l0.25,0.28c0.19,0.22,0.36,0.46,0.51,0.74c0.15,0.27,0.23,0.5,0.23,0.68c0,0.28-0.1,0.5-0.29,0.69c-0.19,0.18-0.42,0.28-0.7,0.28c-0.29,0-0.53-0.09-0.72-0.28C15.75,9.98,15.65,9.75,15.65,9.48z\"}}]})(props);\r\n}\r\nexport const WiRefreshAlt = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.78,14.91c0,0.79,0.19,1.51,0.57,2.17c0.38,0.66,0.9,1.19,1.57,1.57c0.67,0.38,1.39,0.58,2.18,0.58c0.19,0,0.35-0.07,0.48-0.22c0.13-0.14,0.2-0.31,0.2-0.51c0-0.19-0.07-0.35-0.2-0.48s-0.29-0.19-0.49-0.19c-0.81,0-1.5-0.28-2.07-0.85c-0.57-0.57-0.85-1.26-0.85-2.07c0-0.78,0.27-1.45,0.8-2.02s1.16-0.86,1.88-0.86l-0.33,0.32c-0.15,0.15-0.22,0.31-0.21,0.49c0,0.18,0.07,0.34,0.2,0.48c0.13,0.14,0.29,0.21,0.49,0.21c0.2,0,0.37-0.07,0.51-0.21l1.51-1.5c0.13-0.11,0.2-0.27,0.2-0.51c0-0.22-0.07-0.38-0.2-0.47l-1.51-1.53c-0.13-0.14-0.29-0.21-0.49-0.21s-0.36,0.07-0.5,0.21s-0.21,0.3-0.21,0.5c0,0.21,0.07,0.38,0.22,0.51l0.3,0.28c-1.15,0.08-2.11,0.53-2.89,1.35C12.17,12.77,11.78,13.76,11.78,14.91z\"}}]})(props);\r\n}\r\nexport const WiRefresh = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.77,15.53c0,0.94,0.24,1.82,0.71,2.62c0.47,0.8,1.11,1.44,1.91,1.9c0.8,0.47,1.67,0.7,2.61,0.7c0.96,0,1.83-0.23,2.63-0.69c0.8-0.46,1.43-1.09,1.89-1.89c0.46-0.8,0.69-1.68,0.69-2.63c0-0.24-0.08-0.44-0.24-0.61c-0.16-0.17-0.35-0.25-0.59-0.25c-0.23,0-0.43,0.08-0.6,0.25c-0.17,0.17-0.25,0.37-0.25,0.61c0,0.98-0.35,1.82-1.04,2.51c-0.69,0.69-1.53,1.04-2.51,1.04c-0.97,0-1.79-0.35-2.47-1.04c-0.68-0.69-1.02-1.53-1.02-2.51c0-0.85,0.26-1.62,0.79-2.31s1.14-1.06,1.84-1.1l-0.38,0.37c-0.16,0.18-0.24,0.37-0.24,0.58c0,0.22,0.08,0.42,0.24,0.6c0.36,0.35,0.77,0.35,1.21,0l1.84-1.82c0.16-0.12,0.24-0.33,0.24-0.62c0-0.26-0.08-0.45-0.24-0.57L14.97,8.8c-0.18-0.16-0.37-0.24-0.57-0.24c-0.25,0-0.46,0.08-0.63,0.25c-0.17,0.17-0.25,0.37-0.25,0.6c0,0.24,0.08,0.45,0.24,0.61l0.38,0.36c-1.25,0.22-2.29,0.82-3.12,1.8S9.77,14.27,9.77,15.53z\"}}]})(props);\r\n}\r\nexport const WiSandstorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.1,16.97c0,0.24,0.09,0.45,0.28,0.62c0.16,0.19,0.37,0.28,0.63,0.28H18.7c0.29,0,0.53,0.1,0.73,0.3c0.2,0.2,0.3,0.45,0.3,0.74c0,0.29-0.1,0.53-0.3,0.72c-0.2,0.19-0.44,0.29-0.74,0.29c-0.29,0-0.54-0.1-0.73-0.29c-0.16-0.18-0.36-0.26-0.6-0.26c-0.25,0-0.46,0.09-0.64,0.26s-0.27,0.38-0.27,0.61c0,0.25,0.09,0.46,0.28,0.63c0.56,0.55,1.22,0.83,1.96,0.83c0.78,0,1.45-0.27,2.01-0.81c0.56-0.54,0.83-1.19,0.83-1.97s-0.28-1.44-0.84-2c-0.56-0.56-1.23-0.84-2-0.84H4.01c-0.25,0-0.46,0.09-0.64,0.26C3.19,16.51,3.1,16.72,3.1,16.97zM3.1,13.69c0,0.23,0.09,0.43,0.28,0.61c0.17,0.18,0.38,0.26,0.63,0.26h20.04c0.78,0,1.45-0.27,2.01-0.82c0.56-0.54,0.84-1.2,0.84-1.97c0-0.77-0.28-1.44-0.84-1.99s-1.23-0.83-2.01-0.83c-0.77,0-1.42,0.27-1.95,0.8c-0.18,0.16-0.27,0.38-0.27,0.67c0,0.26,0.09,0.47,0.26,0.63c0.17,0.16,0.38,0.24,0.63,0.24c0.24,0,0.45-0.08,0.63-0.24c0.19-0.21,0.42-0.31,0.7-0.31c0.29,0,0.53,0.1,0.73,0.3c0.2,0.2,0.3,0.44,0.3,0.73c0,0.29-0.1,0.53-0.3,0.72c-0.2,0.19-0.44,0.29-0.73,0.29H4.01c-0.25,0-0.46,0.09-0.64,0.26C3.19,13.23,3.1,13.44,3.1,13.69zM4.67,20.61c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.62-0.23s0.25-0.35,0.25-0.59c0-0.23-0.09-0.43-0.26-0.6c-0.17-0.17-0.38-0.25-0.61-0.25c-0.22,0-0.42,0.08-0.58,0.25C4.75,20.18,4.67,20.38,4.67,20.61zM5.62,10.68c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.61-0.23c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.6C6.89,9.92,6.68,9.83,6.45,9.83c-0.22,0-0.42,0.08-0.58,0.25C5.7,10.25,5.62,10.45,5.62,10.68zM8.65,8.37c0,0.24,0.08,0.43,0.24,0.58C9.05,9.12,9.25,9.2,9.47,9.2c0.24,0,0.45-0.08,0.62-0.23c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.09-0.43-0.26-0.6C9.92,7.61,9.71,7.53,9.47,7.53c-0.22,0-0.42,0.08-0.58,0.25C8.73,7.94,8.65,8.14,8.65,8.37zM8.74,19.97c0,0.23,0.08,0.43,0.25,0.58c0.16,0.16,0.35,0.24,0.57,0.24c0.24,0,0.45-0.08,0.62-0.23c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.09-0.43-0.26-0.6c-0.17-0.17-0.38-0.25-0.61-0.25c-0.22,0-0.42,0.08-0.58,0.25C8.82,19.54,8.74,19.74,8.74,19.97zM12.92,10.14c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.62-0.23s0.25-0.35,0.25-0.59c0-0.23-0.09-0.43-0.26-0.6c-0.17-0.17-0.38-0.25-0.61-0.25c-0.23,0-0.42,0.08-0.58,0.25C13,9.71,12.92,9.91,12.92,10.14zM13.24,21.13c0,0.23,0.08,0.42,0.25,0.58c0.16,0.16,0.35,0.24,0.57,0.24c0.24,0,0.45-0.08,0.62-0.23c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.09-0.43-0.26-0.6c-0.17-0.17-0.38-0.25-0.61-0.25c-0.22,0-0.42,0.08-0.58,0.25S13.24,20.9,13.24,21.13zM17.72,9.98c0,0.23,0.08,0.42,0.24,0.57c0.17,0.17,0.36,0.25,0.58,0.25c0.24,0,0.45-0.08,0.62-0.23c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.09-0.43-0.26-0.6c-0.17-0.17-0.38-0.25-0.61-0.25c-0.22,0-0.41,0.08-0.58,0.25C17.81,9.55,17.72,9.75,17.72,9.98zM22.81,17.04c0,0.24,0.08,0.43,0.24,0.58c0.16,0.16,0.36,0.24,0.58,0.24c0.24,0,0.45-0.08,0.61-0.23c0.17-0.16,0.25-0.35,0.25-0.59c0-0.23-0.08-0.43-0.25-0.6c-0.17-0.17-0.37-0.25-0.61-0.25c-0.23,0-0.42,0.08-0.58,0.25C22.9,16.61,22.81,16.81,22.81,17.04z\"}}]})(props);\r\n}\r\nexport const WiShowers = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.6,16.93c0-1.16,0.36-2.18,1.09-3.08c0.72-0.9,1.65-1.48,2.78-1.73c0.29-1.38,0.98-2.5,2.07-3.39S12.88,7.4,14.3,7.4c1.39,0,2.63,0.43,3.72,1.28c1.08,0.85,1.79,1.95,2.12,3.3h0.34c0.9,0,1.73,0.22,2.48,0.66c0.76,0.44,1.35,1.04,1.79,1.8c0.43,0.76,0.65,1.59,0.65,2.49c0,1.34-0.46,2.48-1.37,3.44c-0.92,0.96-2.04,1.46-3.37,1.5c-0.12,0-0.18-0.06-0.18-0.17v-1.34c0-0.11,0.06-0.17,0.18-0.17c0.84-0.07,1.57-0.42,2.17-1.05s0.9-1.37,0.9-2.22c0-0.89-0.32-1.66-0.96-2.31c-0.64-0.64-1.4-0.97-2.29-0.97h-1.63c-0.12,0-0.19-0.06-0.22-0.18l-0.07-0.57c-0.07-0.71-0.3-1.36-0.7-1.94s-0.91-1.03-1.53-1.36c-0.62-0.33-1.3-0.49-2.02-0.49c-1.1,0-2.05,0.36-2.86,1.09c-0.81,0.73-1.27,1.64-1.37,2.72l-0.07,0.54c0,0.09-0.05,0.14-0.16,0.14L9.31,13.7c-0.84,0.07-1.55,0.41-2.11,1.03c-0.57,0.62-0.85,1.35-0.85,2.2c0,0.87,0.3,1.62,0.89,2.25c0.59,0.63,1.31,0.97,2.17,1.02c0.12,0,0.18,0.06,0.18,0.17v1.34c0,0.11-0.06,0.17-0.18,0.17c-0.66-0.03-1.28-0.18-1.88-0.45S6.42,20.8,6,20.36c-0.43-0.44-0.77-0.95-1.02-1.55S4.6,17.59,4.6,16.93zM10.02,23.7c0-0.03,0.01-0.08,0.02-0.13s0.02-0.09,0.02-0.11l0.27-1.03c0.07-0.22,0.2-0.4,0.4-0.51c0.2-0.12,0.41-0.14,0.64-0.07c0.23,0.07,0.4,0.2,0.52,0.4c0.12,0.2,0.14,0.41,0.07,0.64l-0.24,1.01c-0.13,0.44-0.38,0.66-0.76,0.66c-0.03,0-0.05,0-0.09,0c-0.03,0-0.07-0.01-0.11-0.01c-0.04-0.01-0.07-0.01-0.1-0.01c-0.21-0.06-0.37-0.18-0.48-0.34S10.02,23.86,10.02,23.7zM11.34,18.88c0-0.02,0-0.06,0.01-0.11c0.01-0.05,0.01-0.08,0.01-0.09l0.3-1.05c0.06-0.19,0.17-0.34,0.32-0.45c0.15-0.1,0.31-0.15,0.47-0.15c0.02,0,0.05,0,0.08,0c0.03,0,0.06,0.01,0.09,0.01c0.03,0.01,0.06,0.01,0.08,0.01c0.23,0.07,0.4,0.2,0.51,0.4c0.12,0.2,0.14,0.41,0.07,0.64l-0.24,1c-0.07,0.28-0.2,0.47-0.4,0.59s-0.42,0.12-0.65,0.02c-0.22-0.06-0.38-0.17-0.49-0.34S11.34,19.04,11.34,18.88zM12.57,26.83c0-0.03,0.01-0.07,0.02-0.13s0.02-0.09,0.02-0.12l0.29-0.99c0.06-0.24,0.2-0.42,0.4-0.54c0.2-0.12,0.42-0.15,0.65-0.08c0.23,0.07,0.39,0.2,0.51,0.41s0.13,0.42,0.07,0.65l-0.25,1.04c-0.11,0.41-0.37,0.61-0.8,0.61c-0.05,0-0.13-0.01-0.24-0.04c-0.22-0.04-0.38-0.14-0.49-0.3C12.63,27.18,12.57,27.01,12.57,26.83zM13.91,22.06c0-0.06,0.01-0.14,0.04-0.25l0.27-1.03c0.07-0.23,0.2-0.4,0.41-0.51c0.2-0.12,0.42-0.14,0.65-0.07c0.23,0.06,0.39,0.19,0.51,0.39c0.11,0.2,0.13,0.41,0.06,0.65l-0.24,0.99c-0.13,0.45-0.37,0.68-0.72,0.68c-0.04,0-0.15-0.02-0.31-0.06c-0.22-0.04-0.38-0.14-0.49-0.3C13.97,22.4,13.91,22.23,13.91,22.06zM16.73,23.74c0-0.07,0.01-0.15,0.03-0.24l0.28-0.99c0.07-0.24,0.2-0.42,0.41-0.54s0.41-0.15,0.63-0.09c0.23,0.07,0.41,0.2,0.53,0.41c0.12,0.2,0.15,0.41,0.09,0.63l-0.29,1.06c-0.1,0.41-0.36,0.61-0.79,0.61c-0.09,0-0.18-0.01-0.26-0.03c-0.2-0.04-0.35-0.14-0.46-0.3C16.8,24.08,16.74,23.91,16.73,23.74zM18.11,18.98c0-0.03,0.02-0.12,0.05-0.26l0.3-1.03c0.04-0.21,0.13-0.37,0.29-0.47c0.16-0.1,0.32-0.15,0.49-0.14c0.04-0.01,0.13,0,0.24,0.03c0.22,0.05,0.39,0.18,0.52,0.38c0.12,0.17,0.14,0.38,0.07,0.65l-0.24,1.03c-0.13,0.43-0.38,0.65-0.76,0.65c-0.06,0-0.17-0.02-0.34-0.06c-0.21-0.06-0.36-0.17-0.46-0.31C18.16,19.29,18.11,19.14,18.11,18.98z\"}}]})(props);\r\n}\r\nexport const WiSleet = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.09,16.95c0-1.16,0.36-2.19,1.08-3.09s1.64-1.49,2.74-1.74c0.31-1.37,1.01-2.49,2.1-3.37s2.35-1.32,3.77-1.32c0.81,0,1.55,0.13,2.2,0.4c0,0.01,0,0.01,0.01,0.02c0.84,0.32,1.58,0.84,2.21,1.55h0.03c0.68,0.73,1.13,1.6,1.37,2.62h0.31c1.08,0,2.02,0.29,2.83,0.86v-0.01c0.53,0.36,0.98,0.8,1.34,1.33c0.36,0.53,0.6,1.11,0.73,1.74c0.04,0.21,0.06,0.38,0.08,0.52v0.06c0,0.01,0,0.06,0.01,0.17s0.01,0.19,0.01,0.24v0.03c0,0.88-0.21,1.7-0.64,2.45c-0.42,0.75-1,1.36-1.74,1.81c-0.73,0.45-1.54,0.69-2.42,0.72c-0.13,0-0.2-0.06-0.2-0.17v-1.34c0-0.13,0.07-0.19,0.2-0.19c0.86-0.04,1.58-0.38,2.18-1.02c0.6-0.64,0.9-1.39,0.9-2.26c0-0.89-0.32-1.65-0.97-2.29c-0.64-0.64-1.41-0.96-2.31-0.96h-1.61c-0.12,0-0.18-0.06-0.18-0.17l-0.08-0.59c-0.1-1-0.52-1.86-1.27-2.59c-0.01-0.01-0.01-0.02-0.02-0.03s-0.02-0.02-0.02-0.03c-0.01-0.01-0.02-0.02-0.04-0.02c0-0.02-0.01-0.03-0.02-0.03c-0.73-0.66-1.58-1.04-2.56-1.12c-0.07-0.01-0.18-0.01-0.34-0.01c-1.1,0-2.05,0.37-2.86,1.1s-1.27,1.64-1.37,2.72l-0.08,0.59c-0.03,0.09-0.11,0.14-0.22,0.14L8.75,13.7c-0.84,0.1-1.55,0.46-2.11,1.07s-0.84,1.34-0.84,2.18v0.04h0.03c0.01,0.48,0.11,0.93,0.3,1.35c0.2,0.43,0.46,0.79,0.8,1.09c0.21,0.18,0.45,0.34,0.74,0.48v0.01c0.4,0.19,0.8,0.3,1.21,0.32c0.11,0,0.17,0.06,0.17,0.18v1.34c0,0.11-0.06,0.17-0.17,0.17c-0.52-0.03-1.01-0.13-1.48-0.3v0.01c-0.83-0.29-1.54-0.77-2.11-1.43s-0.95-1.44-1.11-2.31v-0.03c-0.01-0.01-0.01-0.02-0.01-0.04C4.11,17.57,4.09,17.27,4.09,16.95zM9.59,24.12c0-0.03,0.01-0.07,0.02-0.13c0.01-0.05,0.02-0.09,0.02-0.12l0.09-0.59c0.07-0.24,0.2-0.41,0.41-0.53s0.43-0.14,0.68-0.08c0.23,0.07,0.39,0.21,0.51,0.41c0.11,0.21,0.13,0.42,0.07,0.63l-0.14,0.6c-0.1,0.44-0.35,0.66-0.76,0.66c-0.03,0-0.08-0.01-0.14-0.02c-0.06-0.01-0.1-0.02-0.14-0.02c-0.21-0.06-0.36-0.17-0.46-0.33C9.64,24.45,9.59,24.29,9.59,24.12zM10.33,21.18c0-0.24,0.08-0.43,0.23-0.59s0.35-0.23,0.59-0.23s0.43,0.08,0.59,0.23s0.23,0.35,0.23,0.59c0,0.23-0.08,0.42-0.23,0.58s-0.35,0.23-0.59,0.23c-0.23,0-0.42-0.08-0.57-0.24C10.42,21.59,10.33,21.4,10.33,21.18zM11.97,27.17c0-0.04,0.01-0.11,0.04-0.23l0.13-0.59c0.07-0.23,0.21-0.4,0.41-0.51c0.21-0.12,0.42-0.14,0.63-0.07c0.23,0.04,0.41,0.17,0.53,0.37c0.12,0.2,0.15,0.43,0.08,0.68l-0.13,0.59c-0.1,0.41-0.37,0.61-0.8,0.61c-0.07,0-0.16-0.01-0.24-0.03c-0.22-0.06-0.38-0.17-0.49-0.33C12.03,27.5,11.97,27.34,11.97,27.17zM12.76,24.26c0-0.23,0.08-0.43,0.23-0.58c0.16-0.16,0.35-0.23,0.59-0.23s0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.58c0,0.24-0.08,0.43-0.23,0.59c-0.16,0.16-0.35,0.23-0.59,0.23c-0.23,0-0.42-0.08-0.58-0.24C12.84,24.68,12.76,24.49,12.76,24.26zM13.38,21.99c0-0.1,0.01-0.19,0.03-0.27l0.23-0.9c0.07-0.23,0.21-0.41,0.41-0.53c0.21-0.12,0.42-0.15,0.64-0.08c0.24,0.07,0.41,0.2,0.53,0.4s0.14,0.41,0.07,0.63l-0.26,0.9c-0.08,0.28-0.22,0.46-0.41,0.56c-0.19,0.1-0.41,0.12-0.64,0.06c-0.2-0.04-0.35-0.14-0.45-0.3C13.41,22.3,13.37,22.14,13.38,21.99zM16.14,24.13c0-0.03,0-0.08,0.01-0.13s0.01-0.09,0.01-0.11l0.09-0.59c0.07-0.24,0.2-0.41,0.41-0.53s0.43-0.14,0.68-0.08c0.23,0.07,0.4,0.21,0.51,0.41c0.12,0.21,0.14,0.42,0.07,0.63l-0.14,0.6c-0.1,0.44-0.35,0.66-0.76,0.66c-0.03,0-0.08-0.01-0.14-0.02c-0.06-0.01-0.11-0.02-0.14-0.02c-0.2-0.06-0.35-0.17-0.45-0.33C16.2,24.46,16.14,24.3,16.14,24.13zM16.88,21.19c0-0.24,0.08-0.43,0.23-0.59c0.16-0.16,0.35-0.23,0.59-0.23c0.24,0,0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.59c0,0.23-0.08,0.43-0.23,0.58C18.14,21.92,17.95,22,17.71,22c-0.24,0-0.43-0.08-0.58-0.24C16.97,21.61,16.88,21.42,16.88,21.19z\"}}]})(props);\r\n}\r\nexport const WiSmallCraftAdvisory = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.81,24.6V7.45h1.03V24.6H9.81z M11.54,14.86V7.45l8.65,3.69L11.54,14.86z\"}}]})(props);\r\n}\r\nexport const WiSmog = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.35,12.46c0-0.94,0.3-1.77,0.9-2.5s1.37-1.21,2.31-1.43c0.23-1.11,0.79-2.03,1.7-2.75c0.91-0.72,1.95-1.08,3.12-1.08c1.12,0,2.13,0.35,3,1.04c0.88,0.69,1.45,1.59,1.72,2.7h0.28c0.76,0,1.46,0.16,2.12,0.49s1.18,0.77,1.57,1.34c0.39,0.57,0.59,1.18,0.59,1.84c0,1.12-0.43,2.08-1.29,2.86c0,0.35-0.11,0.75-0.32,1.2c-0.22,0.45-0.5,0.86-0.87,1.23c-0.36,0.37-0.73,0.59-1.1,0.68c-0.12,0.62-0.41,1.14-0.86,1.57s-0.99,0.71-1.63,0.85c0.3,0.3,0.45,0.65,0.45,1.06c0,0.49-0.17,0.91-0.52,1.26c-0.35,0.35-0.77,0.52-1.27,0.52c-0.49,0-0.91-0.17-1.26-0.52c-0.35-0.35-0.53-0.77-0.53-1.26c0-0.06,0.01-0.14,0.04-0.26s0.04-0.21,0.04-0.27h-0.08c-0.59,0-1.09-0.21-1.51-0.63c-0.42-0.42-0.63-0.93-0.63-1.51c0-0.23,0.12-0.58,0.37-1.06c-0.49-0.26-0.88-0.67-1.17-1.26h-1.25c-1.09-0.09-2.02-0.53-2.78-1.3C6.73,14.49,6.35,13.55,6.35,12.46z\"}}]})(props);\r\n}\r\nexport const WiSmoke = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.34,12.48c0-0.94,0.3-1.78,0.89-2.52s1.34-1.21,2.25-1.41C9.73,7.43,10.3,6.5,11.2,5.78s1.92-1.08,3.08-1.08c1.12,0,2.13,0.35,3.02,1.05c0.89,0.7,1.46,1.6,1.73,2.69h0.27c1.12,0,2.08,0.39,2.88,1.18c0.79,0.78,1.19,1.74,1.19,2.85c0,0.6-0.12,1.17-0.37,1.7c-0.25,0.53-0.59,0.99-1.03,1.37v0.03c0,0.59-0.19,1.12-0.56,1.59c-0.37,0.47-0.84,0.76-1.4,0.89c-0.14,0.62-0.45,1.15-0.91,1.58c-0.46,0.43-1.01,0.7-1.63,0.8c0.29,0.34,0.43,0.72,0.43,1.13c0,0.48-0.17,0.89-0.51,1.24c-0.34,0.34-0.75,0.52-1.23,0.52c-0.48,0-0.89-0.17-1.23-0.52c-0.34-0.34-0.51-0.76-0.51-1.24c0-0.19,0.03-0.38,0.1-0.57h-0.1c-0.58,0-1.08-0.21-1.5-0.63c-0.42-0.42-0.63-0.92-0.63-1.5c0-0.4,0.1-0.76,0.3-1.07c-0.52-0.29-0.89-0.7-1.12-1.25h-1.28v-0.01c-1.07-0.07-1.98-0.49-2.73-1.27S6.34,13.56,6.34,12.48zM7.74,12.23c0,0.8,0.28,1.48,0.84,2.04s1.24,0.84,2.03,0.84c0.49,0,0.95-0.11,1.37-0.34c0.12,0.74,0.47,1.36,1.04,1.86s1.25,0.74,2.02,0.74c0.87,0,1.61-0.31,2.22-0.92c0.41,0.48,0.92,0.71,1.54,0.71c0.57,0,1.05-0.2,1.46-0.6c0.4-0.4,0.6-0.89,0.6-1.46c0.4-0.27,0.72-0.61,0.95-1.04c0.23-0.42,0.35-0.88,0.35-1.37c0-0.79-0.28-1.47-0.85-2.02c-0.57-0.55-1.25-0.83-2.05-0.83c-0.56,0-1.07,0.15-1.53,0.44c0.06-0.24,0.08-0.51,0.08-0.79c0-0.96-0.34-1.78-1.03-2.46c-0.69-0.68-1.52-1.01-2.49-1.01c-0.94,0-1.75,0.33-2.43,0.97s-1.04,1.44-1.07,2.37c-0.02,0-0.05,0-0.08,0c-0.04,0-0.07,0-0.09,0c-0.79,0-1.46,0.28-2.03,0.84S7.74,11.45,7.74,12.23z\"}}]})(props);\r\n}\r\nexport const WiSnowWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.64,16.95c0-1.16,0.35-2.18,1.06-3.08s1.62-1.48,2.74-1.76c0.31-1.36,1.01-2.48,2.1-3.36s2.34-1.31,3.75-1.31c1.38,0,2.6,0.43,3.68,1.28c1.08,0.85,1.78,1.95,2.1,3.29h0.32c0.89,0,1.72,0.22,2.48,0.66c0.76,0.44,1.37,1.04,1.81,1.8c0.44,0.76,0.67,1.59,0.67,2.48c0,1.32-0.46,2.47-1.39,3.42c-0.92,0.96-2.05,1.46-3.38,1.5c-0.13,0-0.2-0.06-0.2-0.17v-1.33c0-0.12,0.07-0.18,0.2-0.18c0.85-0.04,1.58-0.38,2.18-1.02s0.9-1.38,0.9-2.23c0-0.89-0.32-1.65-0.97-2.3s-1.42-0.97-2.32-0.97h-1.61c-0.12,0-0.18-0.06-0.18-0.17l-0.08-0.58c-0.11-1.08-0.58-1.99-1.39-2.72c-0.82-0.73-1.76-1.1-2.85-1.1c-1.1,0-2.05,0.37-2.86,1.11c-0.81,0.74-1.27,1.65-1.37,2.75l-0.06,0.5c0,0.12-0.07,0.19-0.2,0.19l-0.53,0.07c-0.83,0.07-1.53,0.41-2.1,1.04s-0.85,1.35-0.85,2.19c0,0.85,0.3,1.59,0.9,2.23s1.33,0.97,2.18,1.02c0.11,0,0.17,0.06,0.17,0.18v1.33c0,0.11-0.06,0.17-0.17,0.17c-1.34-0.04-2.47-0.54-3.4-1.5C5.1,19.42,4.64,18.27,4.64,16.95zM10.14,24.65c0-0.23,0.08-0.43,0.25-0.6c0.16-0.15,0.35-0.23,0.57-0.23c0.23,0,0.43,0.08,0.59,0.23s0.24,0.35,0.24,0.59c0,0.24-0.08,0.43-0.24,0.59c-0.16,0.16-0.35,0.23-0.59,0.23c-0.23,0-0.43-0.08-0.59-0.23C10.22,25.08,10.14,24.88,10.14,24.65zM11,21.02c0-0.22,0.08-0.42,0.24-0.58c0.16-0.16,0.35-0.24,0.59-0.24c0.23,0,0.43,0.08,0.59,0.24c0.16,0.16,0.24,0.36,0.24,0.58c0,0.24-0.08,0.44-0.24,0.6c-0.16,0.17-0.35,0.25-0.59,0.25c-0.23,0-0.43-0.08-0.59-0.25C11.08,21.46,11,21.26,11,21.02zM12.9,26.61c0-0.23,0.08-0.43,0.25-0.61c0.16-0.16,0.35-0.24,0.57-0.24c0.24,0,0.44,0.08,0.61,0.25c0.17,0.17,0.25,0.37,0.25,0.6s-0.08,0.43-0.25,0.59c-0.17,0.16-0.37,0.24-0.61,0.24c-0.23,0-0.42-0.08-0.58-0.24C12.99,27.03,12.9,26.84,12.9,26.61zM13.77,22.95c0-0.24,0.08-0.44,0.24-0.62c0.16-0.16,0.36-0.24,0.58-0.24c0.23,0,0.43,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.61c0,0.23-0.08,0.43-0.25,0.6s-0.37,0.25-0.6,0.25c-0.23,0-0.42-0.08-0.58-0.25C13.85,23.38,13.77,23.18,13.77,22.95zM14.19,19.33c0-0.23,0.08-0.43,0.25-0.6c0.18-0.16,0.37-0.24,0.57-0.24c0.24,0,0.44,0.08,0.61,0.25c0.17,0.17,0.25,0.36,0.25,0.6c0,0.23-0.08,0.43-0.25,0.59c-0.17,0.16-0.37,0.24-0.61,0.24c-0.23,0-0.42-0.08-0.58-0.24C14.27,19.76,14.19,19.56,14.19,19.33zM16.56,24.65c0-0.23,0.08-0.43,0.24-0.6c0.16-0.15,0.36-0.23,0.6-0.23c0.24,0,0.43,0.08,0.59,0.23c0.16,0.16,0.23,0.35,0.23,0.59c0,0.24-0.08,0.43-0.23,0.59c-0.16,0.16-0.35,0.23-0.59,0.23c-0.24,0-0.44-0.08-0.6-0.24C16.64,25.07,16.56,24.88,16.56,24.65zM17.41,21.02c0-0.22,0.08-0.41,0.25-0.58c0.17-0.17,0.37-0.25,0.6-0.25c0.23,0,0.43,0.08,0.59,0.24c0.16,0.16,0.24,0.36,0.24,0.58c0,0.24-0.08,0.44-0.24,0.6c-0.16,0.17-0.35,0.25-0.59,0.25c-0.24,0-0.44-0.08-0.6-0.25C17.5,21.45,17.41,21.25,17.41,21.02z\"}}]})(props);\r\n}\r\nexport const WiSnow = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.64,16.95c0-1.16,0.35-2.18,1.06-3.08s1.62-1.48,2.74-1.76c0.31-1.36,1.01-2.48,2.1-3.36s2.34-1.31,3.75-1.31c1.38,0,2.6,0.43,3.68,1.28c1.08,0.85,1.78,1.95,2.1,3.29h0.32c0.89,0,1.72,0.22,2.48,0.66c0.76,0.44,1.37,1.04,1.81,1.8c0.44,0.76,0.67,1.59,0.67,2.48c0,1.32-0.46,2.47-1.39,3.42c-0.92,0.96-2.05,1.46-3.38,1.5c-0.13,0-0.2-0.06-0.2-0.17v-1.33c0-0.12,0.07-0.18,0.2-0.18c0.85-0.04,1.58-0.38,2.18-1.02s0.9-1.38,0.9-2.23c0-0.89-0.32-1.65-0.97-2.3s-1.42-0.97-2.32-0.97h-1.61c-0.12,0-0.18-0.06-0.18-0.17l-0.08-0.58c-0.11-1.08-0.58-1.99-1.39-2.72c-0.82-0.73-1.76-1.1-2.85-1.1c-1.1,0-2.05,0.37-2.86,1.11c-0.81,0.74-1.27,1.65-1.37,2.75l-0.06,0.5c0,0.12-0.07,0.19-0.2,0.19l-0.53,0.07c-0.83,0.07-1.53,0.41-2.1,1.04s-0.85,1.35-0.85,2.19c0,0.85,0.3,1.59,0.9,2.23s1.33,0.97,2.18,1.02c0.11,0,0.17,0.06,0.17,0.18v1.33c0,0.11-0.06,0.17-0.17,0.17c-1.34-0.04-2.47-0.54-3.4-1.5C5.1,19.42,4.64,18.27,4.64,16.95zM11,21.02c0-0.22,0.08-0.42,0.24-0.58c0.16-0.16,0.35-0.24,0.59-0.24c0.23,0,0.43,0.08,0.59,0.24c0.16,0.16,0.24,0.36,0.24,0.58c0,0.24-0.08,0.44-0.24,0.6c-0.16,0.17-0.35,0.25-0.59,0.25c-0.23,0-0.43-0.08-0.59-0.25C11.08,21.46,11,21.26,11,21.02zM11,24.65c0-0.24,0.08-0.44,0.24-0.6c0.16-0.15,0.35-0.23,0.58-0.23c0.23,0,0.43,0.08,0.59,0.23c0.16,0.16,0.24,0.35,0.24,0.59c0,0.24-0.08,0.43-0.24,0.59c-0.16,0.16-0.35,0.23-0.59,0.23c-0.23,0-0.43-0.08-0.59-0.23C11.08,25.08,11,24.88,11,24.65zM14.19,22.95c0-0.23,0.08-0.44,0.25-0.62c0.16-0.16,0.35-0.24,0.57-0.24c0.23,0,0.43,0.09,0.6,0.26c0.17,0.17,0.26,0.37,0.26,0.6c0,0.23-0.08,0.43-0.25,0.6c-0.17,0.17-0.37,0.25-0.61,0.25c-0.23,0-0.42-0.08-0.58-0.25S14.19,23.18,14.19,22.95zM14.19,19.33c0-0.23,0.08-0.43,0.25-0.6c0.18-0.16,0.37-0.24,0.57-0.24c0.24,0,0.44,0.08,0.61,0.25c0.17,0.17,0.25,0.36,0.25,0.6c0,0.23-0.08,0.43-0.25,0.59c-0.17,0.16-0.37,0.24-0.61,0.24c-0.23,0-0.42-0.08-0.58-0.24C14.27,19.76,14.19,19.56,14.19,19.33zM14.19,26.61c0-0.23,0.08-0.43,0.25-0.61c0.16-0.16,0.35-0.24,0.57-0.24c0.24,0,0.44,0.08,0.61,0.25c0.17,0.17,0.25,0.37,0.25,0.6s-0.08,0.43-0.25,0.59c-0.17,0.16-0.37,0.24-0.61,0.24c-0.23,0-0.42-0.08-0.58-0.24C14.27,27.03,14.19,26.84,14.19,26.61zM17.41,21.02c0-0.22,0.08-0.41,0.25-0.58c0.17-0.17,0.37-0.25,0.6-0.25c0.23,0,0.43,0.08,0.59,0.24c0.16,0.16,0.24,0.36,0.24,0.58c0,0.24-0.08,0.44-0.24,0.6c-0.16,0.17-0.35,0.25-0.59,0.25c-0.24,0-0.44-0.08-0.6-0.25C17.5,21.45,17.41,21.25,17.41,21.02zM17.41,24.65c0-0.22,0.08-0.42,0.25-0.6c0.16-0.15,0.36-0.23,0.6-0.23c0.24,0,0.43,0.08,0.59,0.23s0.23,0.35,0.23,0.59c0,0.24-0.08,0.43-0.23,0.59c-0.16,0.16-0.35,0.23-0.59,0.23c-0.24,0-0.44-0.08-0.6-0.24C17.5,25.07,17.41,24.88,17.41,24.65z\"}}]})(props);\r\n}\r\nexport const WiSnowflakeCold = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.46,14.41c0-0.19,0.07-0.36,0.2-0.5c0.13-0.14,0.29-0.21,0.48-0.21c0.19,0,0.36,0.07,0.49,0.21c0.13,0.14,0.2,0.3,0.2,0.5c0,0.19-0.07,0.35-0.2,0.48c-0.13,0.13-0.3,0.2-0.48,0.2s-0.35-0.07-0.48-0.2C7.52,14.75,7.46,14.59,7.46,14.41zM9.44,14.41c0-0.19,0.07-0.36,0.2-0.5c0.13-0.14,0.29-0.21,0.48-0.21h3.23l-2.28-2.28c-0.14-0.12-0.21-0.28-0.21-0.47c0-0.19,0.07-0.35,0.21-0.49c0.14-0.14,0.3-0.21,0.49-0.21s0.35,0.07,0.49,0.21l2.27,2.27V9.52c0-0.19,0.07-0.36,0.21-0.5s0.3-0.21,0.5-0.21c0.19,0,0.35,0.07,0.48,0.21c0.13,0.14,0.2,0.3,0.2,0.5v3.23l2.29-2.3c0.14-0.14,0.3-0.21,0.48-0.21c0.18,0,0.35,0.07,0.49,0.21c0.12,0.14,0.18,0.3,0.18,0.49c0,0.19-0.06,0.35-0.18,0.47l-2.28,2.28h3.23c0.18,0,0.34,0.07,0.47,0.21c0.13,0.14,0.2,0.3,0.2,0.5c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.29,0.2-0.47,0.2h-3.23l2.29,2.29c0.12,0.12,0.18,0.28,0.18,0.47s-0.06,0.35-0.18,0.49c-0.14,0.14-0.31,0.21-0.49,0.21c-0.18,0-0.35-0.07-0.48-0.21l-2.29-2.3v3.24c0,0.19-0.07,0.36-0.2,0.49c-0.13,0.13-0.29,0.2-0.48,0.2c-0.19,0-0.36-0.07-0.5-0.2c-0.14-0.13-0.21-0.3-0.21-0.49v-3.22l-2.27,2.27c-0.14,0.14-0.3,0.21-0.49,0.21s-0.35-0.07-0.49-0.21s-0.21-0.3-0.21-0.49s0.07-0.34,0.21-0.47l2.3-2.29h-3.24c-0.19,0-0.35-0.07-0.48-0.2C9.5,14.75,9.44,14.59,9.44,14.41zM9.45,19.25c0-0.18,0.07-0.35,0.21-0.48c0.12-0.14,0.28-0.21,0.47-0.21c0.19,0,0.35,0.07,0.49,0.21c0.14,0.14,0.21,0.3,0.21,0.48c0,0.18-0.07,0.35-0.21,0.48c-0.14,0.14-0.3,0.21-0.49,0.21c-0.19,0-0.35-0.07-0.47-0.21C9.52,19.6,9.45,19.44,9.45,19.25zM9.45,9.54c0-0.18,0.07-0.35,0.21-0.48c0.12-0.14,0.28-0.21,0.47-0.21c0.19,0,0.35,0.07,0.49,0.21c0.14,0.14,0.21,0.3,0.21,0.48s-0.07,0.35-0.21,0.49c-0.14,0.14-0.3,0.21-0.49,0.21c-0.19,0-0.35-0.07-0.47-0.21C9.52,9.89,9.45,9.72,9.45,9.54zM14.3,21.25c0-0.18,0.07-0.34,0.21-0.47c0.14-0.13,0.3-0.2,0.5-0.2c0.19,0,0.35,0.07,0.48,0.2c0.13,0.13,0.2,0.29,0.2,0.47c0,0.19-0.07,0.36-0.2,0.49c-0.13,0.13-0.29,0.2-0.48,0.2c-0.19,0-0.36-0.07-0.5-0.2C14.37,21.61,14.3,21.45,14.3,21.25zM14.3,7.54c0-0.19,0.07-0.36,0.21-0.49s0.3-0.2,0.5-0.2c0.19,0,0.35,0.07,0.48,0.2c0.13,0.13,0.2,0.3,0.2,0.49c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.29,0.2-0.48,0.2c-0.19,0-0.36-0.07-0.5-0.2C14.37,7.88,14.3,7.72,14.3,7.54zM19.17,19.25c0-0.18,0.07-0.35,0.21-0.48c0.12-0.14,0.28-0.21,0.47-0.21c0.19,0,0.35,0.07,0.49,0.21c0.14,0.14,0.21,0.3,0.21,0.48c0,0.18-0.07,0.35-0.21,0.48c-0.14,0.14-0.3,0.21-0.49,0.21c-0.19,0-0.35-0.07-0.47-0.21C19.24,19.6,19.17,19.44,19.17,19.25zM19.17,9.54c0-0.18,0.07-0.35,0.21-0.48c0.12-0.14,0.28-0.21,0.47-0.21c0.19,0,0.35,0.07,0.49,0.21c0.14,0.14,0.21,0.3,0.21,0.48s-0.07,0.35-0.21,0.49c-0.14,0.14-0.3,0.21-0.49,0.21c-0.19,0-0.35-0.07-0.47-0.21C19.24,9.89,19.17,9.72,19.17,9.54zM21.17,14.41c0-0.19,0.07-0.36,0.2-0.5c0.13-0.14,0.3-0.21,0.49-0.21c0.18,0,0.34,0.07,0.47,0.21c0.13,0.14,0.2,0.3,0.2,0.5c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.29,0.2-0.47,0.2c-0.19,0-0.36-0.07-0.49-0.2C21.24,14.75,21.17,14.59,21.17,14.41z\"}}]})(props);\r\n}\r\nexport const WiSolarEclipse = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.37,14.62c0-0.24,0.08-0.45,0.25-0.62c0.17-0.16,0.38-0.24,0.6-0.24h2.04c0.23,0,0.42,0.08,0.58,0.25c0.15,0.17,0.23,0.37,0.23,0.61S8,15.06,7.85,15.23c-0.15,0.17-0.35,0.25-0.58,0.25H5.23c-0.23,0-0.43-0.08-0.6-0.25C4.46,15.06,4.37,14.86,4.37,14.62zM7.23,21.55c0-0.23,0.08-0.43,0.23-0.61l1.47-1.43c0.15-0.16,0.35-0.23,0.59-0.23c0.24,0,0.44,0.08,0.6,0.23s0.24,0.34,0.24,0.57c0,0.24-0.08,0.46-0.24,0.64L8.7,22.14c-0.41,0.32-0.82,0.32-1.23,0C7.31,21.98,7.23,21.78,7.23,21.55zM7.23,7.71c0-0.23,0.08-0.43,0.23-0.61C7.66,6.93,7.87,6.85,8.1,6.85c0.22,0,0.42,0.08,0.59,0.24l1.43,1.47c0.16,0.15,0.24,0.35,0.24,0.59c0,0.24-0.08,0.44-0.24,0.6s-0.36,0.24-0.6,0.24c-0.24,0-0.44-0.08-0.59-0.24L7.47,8.32C7.31,8.16,7.23,7.95,7.23,7.71zM9.78,14.62c0-0.93,0.23-1.8,0.7-2.6s1.1-1.44,1.91-1.91s1.67-0.7,2.6-0.7c0.7,0,1.37,0.14,2.02,0.42c0.64,0.28,1.2,0.65,1.66,1.12c0.47,0.47,0.84,1.02,1.11,1.66c0.27,0.64,0.41,1.32,0.41,2.02c0,0.94-0.23,1.81-0.7,2.61c-0.47,0.8-1.1,1.43-1.9,1.9c-0.8,0.47-1.67,0.7-2.61,0.7s-1.81-0.23-2.61-0.7c-0.8-0.47-1.43-1.1-1.9-1.9C10.02,16.43,9.78,15.56,9.78,14.62zM14.14,22.4c0-0.24,0.08-0.44,0.25-0.6s0.37-0.24,0.6-0.24c0.24,0,0.45,0.08,0.61,0.24s0.24,0.36,0.24,0.6v1.99c0,0.24-0.08,0.45-0.25,0.62c-0.17,0.17-0.37,0.25-0.6,0.25s-0.44-0.08-0.6-0.25c-0.17-0.17-0.25-0.38-0.25-0.62V22.4zM14.14,6.9V4.86c0-0.23,0.08-0.43,0.25-0.6C14.56,4.09,14.76,4,15,4s0.43,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6V6.9c0,0.23-0.08,0.42-0.25,0.58S15.23,7.71,15,7.71s-0.44-0.08-0.6-0.23S14.14,7.13,14.14,6.9zM14.25,11.22c0.87,0.11,1.6,0.49,2.19,1.15c0.59,0.66,0.89,1.44,0.89,2.33c0,0.83-0.26,1.56-0.78,2.2c-0.52,0.63-1.18,1.04-1.98,1.21c0.2,0.02,0.35,0.04,0.44,0.04c0.97,0,1.81-0.35,2.5-1.04s1.04-1.52,1.04-2.5c0-0.96-0.35-1.78-1.04-2.47c-0.69-0.68-1.52-1.02-2.5-1.02C14.74,11.14,14.49,11.17,14.25,11.22zM19.66,20.08c0-0.23,0.08-0.42,0.23-0.56c0.15-0.16,0.34-0.23,0.56-0.23c0.24,0,0.44,0.08,0.6,0.23l1.46,1.43c0.16,0.17,0.24,0.38,0.24,0.61c0,0.23-0.08,0.43-0.24,0.59c-0.4,0.31-0.8,0.31-1.2,0l-1.42-1.42C19.74,20.55,19.66,20.34,19.66,20.08zM19.66,9.16c0-0.25,0.08-0.45,0.23-0.59l1.42-1.47c0.17-0.16,0.37-0.24,0.59-0.24c0.24,0,0.44,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6c0,0.25-0.08,0.46-0.24,0.62l-1.46,1.43c-0.18,0.16-0.38,0.24-0.6,0.24c-0.23,0-0.41-0.08-0.56-0.24S19.66,9.4,19.66,9.16zM21.92,14.62c0-0.24,0.08-0.44,0.24-0.62c0.16-0.16,0.35-0.24,0.57-0.24h2.02c0.23,0,0.43,0.09,0.6,0.26c0.17,0.17,0.26,0.37,0.26,0.6s-0.09,0.43-0.26,0.6c-0.17,0.17-0.37,0.25-0.6,0.25h-2.02c-0.23,0-0.43-0.08-0.58-0.25S21.92,14.86,21.92,14.62z\"}}]})(props);\r\n}\r\nexport const WiSprinkle = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.64,16.91c0-1.15,0.36-2.17,1.08-3.07c0.72-0.9,1.63-1.47,2.73-1.73c0.31-1.36,1.01-2.48,2.1-3.35s2.35-1.31,3.76-1.31c1.38,0,2.6,0.43,3.68,1.27c1.07,0.85,1.78,1.94,2.11,3.28h0.31c0.89,0,1.72,0.22,2.48,0.65s1.37,1.03,1.81,1.78c0.44,0.75,0.67,1.58,0.67,2.47c0,1.34-0.46,2.49-1.38,3.45s-2.05,1.47-3.38,1.51c-0.13,0-0.2-0.06-0.2-0.17v-1.33c0-0.12,0.07-0.18,0.2-0.18c0.86-0.04,1.58-0.38,2.18-1.02s0.9-1.39,0.9-2.26s-0.32-1.62-0.98-2.26c-0.65-0.64-1.42-0.96-2.31-0.96h-1.6c-0.12,0-0.19-0.06-0.19-0.17l-0.07-0.58c-0.11-1.07-0.57-1.98-1.38-2.71c-0.82-0.73-1.77-1.1-2.85-1.1c-1.09,0-2.05,0.36-2.86,1.09c-0.81,0.73-1.27,1.63-1.38,2.71l-0.06,0.54c0,0.12-0.07,0.18-0.2,0.18l-0.53,0.03c-0.82,0.04-1.51,0.37-2.09,1s-0.86,1.37-0.86,2.22c0,0.87,0.3,1.62,0.9,2.26s1.33,0.98,2.18,1.02c0.11,0,0.17,0.06,0.17,0.18v1.33c0,0.11-0.06,0.17-0.17,0.17c-1.34-0.06-2.47-0.57-3.4-1.53S4.64,18.24,4.64,16.91zM10.57,17.79c0-0.24,0.12-0.57,0.37-0.99c0.24-0.42,0.47-0.75,0.68-1.01c0.21-0.24,0.34-0.38,0.38-0.42l0.36,0.4c0.26,0.28,0.5,0.61,0.72,1.02c0.22,0.4,0.33,0.74,0.33,1c0,0.39-0.13,0.72-0.4,0.98c-0.27,0.26-0.6,0.39-1,0.39c-0.39,0-0.73-0.13-1.01-0.4C10.71,18.5,10.57,18.17,10.57,17.79zM13.55,21.78c0-0.28,0.08-0.59,0.24-0.96s0.35-0.7,0.59-1.02c0.18-0.26,0.4-0.54,0.67-0.84c0.26-0.3,0.46-0.52,0.6-0.65c0.07-0.06,0.15-0.14,0.24-0.23l0.24,0.23c0.38,0.33,0.8,0.82,1.27,1.46c0.24,0.33,0.43,0.68,0.59,1.04s0.23,0.68,0.23,0.97c0,0.64-0.23,1.19-0.68,1.65s-1.01,0.68-1.66,0.68c-0.64,0-1.19-0.23-1.65-0.67C13.77,22.98,13.55,22.43,13.55,21.78zM15.02,15.12c0-0.42,0.32-0.95,0.97-1.6l0.24,0.25c0.18,0.21,0.33,0.45,0.48,0.71c0.14,0.26,0.22,0.47,0.22,0.64c0,0.26-0.09,0.48-0.28,0.66c-0.18,0.18-0.4,0.28-0.66,0.28c-0.27,0-0.5-0.09-0.69-0.28C15.11,15.6,15.02,15.38,15.02,15.12z\"}}]})(props);\r\n}\r\nexport const WiStars = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.37,16.18c0.65-0.03,1.2-0.28,1.65-0.75c0.45-0.47,0.68-1.03,0.68-1.68c0,0.65,0.22,1.21,0.67,1.68c0.45,0.47,1,0.72,1.65,0.75c-0.65,0.03-1.2,0.28-1.65,0.75c-0.45,0.47-0.67,1.03-0.67,1.68c0-0.65-0.22-1.21-0.68-1.68C6.57,16.46,6.02,16.21,5.37,16.18zM7.7,8.98c1.26-0.06,2.33-0.55,3.21-1.47c0.88-0.92,1.32-2.01,1.32-3.28c0,1.27,0.44,2.36,1.32,3.28s1.95,1.4,3.22,1.47c-0.83,0.04-1.59,0.27-2.29,0.71c-0.69,0.43-1.24,1.01-1.65,1.73c-0.4,0.72-0.6,1.49-0.6,2.33c0-1.27-0.44-2.37-1.32-3.29C10.03,9.53,8.96,9.04,7.7,8.98zM11.02,19.75c0.95-0.04,1.76-0.41,2.42-1.1c0.66-0.69,0.99-1.51,0.99-2.47c0,0.96,0.33,1.78,0.99,2.47c0.66,0.69,1.46,1.06,2.41,1.1c-0.95,0.04-1.75,0.41-2.41,1.1c-0.66,0.69-0.99,1.51-0.99,2.47c0-0.96-0.33-1.78-0.99-2.47C12.77,20.16,11.97,19.8,11.02,19.75zM17.83,15.01c0.95-0.04,1.75-0.41,2.41-1.1c0.66-0.69,0.98-1.51,0.98-2.48c0,0.96,0.33,1.78,0.99,2.47s1.47,1.06,2.42,1.1c-0.95,0.04-1.76,0.41-2.42,1.1c-0.66,0.69-0.99,1.51-0.99,2.47c0-0.96-0.33-1.78-0.98-2.47C19.58,15.42,18.78,15.05,17.83,15.01z\"}}]})(props);\r\n}\r\nexport const WiStormShowers = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.63,16.91c0,1.11,0.33,2.1,0.99,2.97s1.51,1.47,2.56,1.79l-0.65,1.68c-0.03,0.14,0.02,0.22,0.14,0.22h2.13l-1.04,3.78h0.28l3.97-5.22c0.04-0.04,0.04-0.09,0.02-0.14s-0.07-0.07-0.14-0.07h-2.18l2.48-4.64c0.06-0.14,0.02-0.21-0.14-0.21h-2.94c-0.09,0-0.17,0.05-0.22,0.14L8.8,20.08c-0.71-0.18-1.3-0.57-1.77-1.16c-0.47-0.59-0.7-1.26-0.7-2.01c0-0.83,0.28-1.55,0.84-2.16s1.26-0.96,2.1-1.06l0.52-0.07c0.13,0,0.2-0.06,0.2-0.17l0.07-0.52c0.1-1.08,0.55-1.99,1.36-2.72c0.81-0.73,1.76-1.1,2.85-1.1c1.09,0,2.04,0.37,2.85,1.1c0.82,0.73,1.28,1.64,1.4,2.72l0.06,0.58c0,0.12,0.06,0.18,0.19,0.18h1.61c0.91,0,1.68,0.32,2.32,0.95c0.64,0.63,0.96,1.39,0.96,2.28c0,0.85-0.3,1.59-0.89,2.21c-0.59,0.62-1.32,0.96-2.19,1.03c-0.13,0-0.2,0.06-0.2,0.19v1.37c0,0.11,0.07,0.17,0.2,0.17c0.65-0.02,1.27-0.17,1.86-0.44c0.59-0.27,1.1-0.63,1.52-1.07c0.42-0.44,0.76-0.96,1.01-1.57c0.25-0.6,0.38-1.23,0.38-1.88c0-0.9-0.22-1.73-0.67-2.49c-0.45-0.76-1.05-1.36-1.81-1.8c-0.76-0.44-1.59-0.66-2.48-0.66h-0.32c-0.33-1.33-1.03-2.42-2.11-3.26c-1.08-0.84-2.3-1.27-3.68-1.27c-1.41,0-2.67,0.44-3.76,1.31s-1.79,1.99-2.1,3.36c-1.1,0.26-2.01,0.83-2.73,1.73S4.63,15.76,4.63,16.91zM12.79,26.77c0,0.16,0.05,0.31,0.15,0.46c0.1,0.15,0.26,0.26,0.46,0.32c0.14,0.03,0.22,0.05,0.25,0.05c0.09,0,0.21-0.03,0.38-0.1c0.21-0.09,0.35-0.27,0.42-0.52l0.28-1.05c0.06-0.22,0.04-0.43-0.08-0.63s-0.29-0.33-0.53-0.4c-0.22-0.06-0.43-0.04-0.63,0.08c-0.2,0.12-0.34,0.29-0.41,0.53l-0.27,1C12.8,26.68,12.79,26.77,12.79,26.77zM14.13,22c0,0.14,0.05,0.29,0.15,0.44c0.1,0.15,0.25,0.26,0.45,0.33c0.22,0.07,0.44,0.06,0.64-0.05s0.33-0.28,0.4-0.52l0.3-1.04c0.06-0.22,0.03-0.43-0.08-0.63c-0.12-0.2-0.3-0.34-0.53-0.41c-0.23-0.06-0.44-0.04-0.65,0.08s-0.34,0.29-0.41,0.52l-0.24,1.01C14.14,21.9,14.13,21.99,14.13,22zM16.95,23.65c0,0.17,0.05,0.34,0.16,0.51c0.11,0.17,0.27,0.28,0.47,0.35c0.02,0,0.06,0.01,0.12,0.02c0.05,0.01,0.09,0.02,0.12,0.02c0.13,0,0.26-0.02,0.38-0.08c0.19-0.07,0.33-0.26,0.41-0.57l0.25-1.01c0.07-0.23,0.05-0.45-0.06-0.66c-0.11-0.21-0.28-0.35-0.5-0.42c-0.25-0.06-0.48-0.03-0.68,0.08c-0.2,0.12-0.33,0.3-0.37,0.53l-0.27,1.03C16.96,23.51,16.95,23.58,16.95,23.65zM18.31,18.86c-0.01,0.16,0.04,0.31,0.15,0.47c0.11,0.16,0.27,0.28,0.49,0.38c0.08,0.04,0.16,0.06,0.26,0.06c0.11,0,0.22-0.03,0.34-0.08c0.21-0.1,0.35-0.29,0.44-0.57l0.29-1.03c0.02-0.13,0.03-0.2,0.03-0.22c0-0.17-0.05-0.33-0.16-0.49s-0.27-0.27-0.49-0.33c-0.02,0-0.06-0.01-0.11-0.02C19.49,17,19.45,17,19.42,17c-0.17,0-0.33,0.05-0.49,0.15c-0.16,0.1-0.27,0.26-0.33,0.48l-0.27,1.01C18.32,18.72,18.31,18.79,18.31,18.86z\"}}]})(props);\r\n}\r\nexport const WiStormWarning = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.76,24.6V7.45h1.13V24.6H9.76zM11.7,14.05v-6.6h8.55v6.6H11.7zM14.06,12.05h3.81v-2.5h-3.81V12.05z\"}}]})(props);\r\n}\r\nexport const WiStrongWind = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.1,16.97c0,0.24,0.09,0.45,0.28,0.62c0.16,0.19,0.37,0.28,0.63,0.28H18.7c0.29,0,0.53,0.1,0.73,0.3c0.2,0.2,0.3,0.45,0.3,0.74c0,0.29-0.1,0.53-0.3,0.72c-0.2,0.19-0.44,0.29-0.74,0.29c-0.29,0-0.54-0.1-0.73-0.29c-0.16-0.18-0.36-0.26-0.6-0.26c-0.25,0-0.46,0.09-0.64,0.26s-0.27,0.38-0.27,0.61c0,0.25,0.09,0.46,0.28,0.63c0.56,0.55,1.22,0.83,1.96,0.83c0.78,0,1.45-0.27,2.01-0.81c0.56-0.54,0.83-1.19,0.83-1.97s-0.28-1.44-0.84-2c-0.56-0.56-1.23-0.84-2-0.84H4.01c-0.25,0-0.46,0.09-0.64,0.26C3.19,16.51,3.1,16.72,3.1,16.97zM3.1,13.69c0,0.23,0.09,0.43,0.28,0.61c0.17,0.18,0.38,0.26,0.63,0.26h20.04c0.78,0,1.45-0.27,2.01-0.82c0.56-0.54,0.84-1.2,0.84-1.97c0-0.77-0.28-1.44-0.84-1.99s-1.23-0.83-2.01-0.83c-0.77,0-1.42,0.27-1.95,0.8c-0.18,0.16-0.27,0.38-0.27,0.67c0,0.26,0.09,0.47,0.26,0.63c0.17,0.16,0.38,0.24,0.63,0.24c0.24,0,0.45-0.08,0.63-0.24c0.19-0.21,0.42-0.31,0.7-0.31c0.29,0,0.53,0.1,0.73,0.3c0.2,0.2,0.3,0.44,0.3,0.73c0,0.29-0.1,0.53-0.3,0.72c-0.2,0.19-0.44,0.29-0.73,0.29H4.01c-0.25,0-0.46,0.09-0.64,0.26C3.19,13.23,3.1,13.44,3.1,13.69z\"}}]})(props);\r\n}\r\nexport const WiSunrise = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.75,15.36c0-0.25,0.1-0.48,0.3-0.69c0.22-0.19,0.46-0.29,0.7-0.29h2.33c0.27,0,0.49,0.1,0.67,0.29c0.18,0.19,0.27,0.43,0.27,0.69c0,0.29-0.09,0.53-0.27,0.72c-0.18,0.19-0.41,0.29-0.67,0.29H3.75c-0.27,0-0.5-0.1-0.7-0.3C2.85,15.86,2.75,15.62,2.75,15.36zM6.08,7.38c0-0.27,0.09-0.5,0.26-0.68C6.57,6.5,6.8,6.4,7.05,6.4c0.26,0,0.49,0.1,0.68,0.29l1.64,1.65c0.19,0.22,0.28,0.45,0.28,0.69c0,0.28-0.09,0.52-0.27,0.7s-0.4,0.28-0.66,0.28c-0.24,0-0.48-0.1-0.7-0.29L6.34,8.11C6.17,7.9,6.08,7.65,6.08,7.38zM8.08,20.88c0-0.28,0.1-0.51,0.29-0.68c0.18-0.17,0.4-0.26,0.68-0.26h2.63l3.11-2.92c0.1-0.08,0.21-0.08,0.34,0l3.16,2.92h2.77c0.27,0,0.5,0.09,0.69,0.28c0.19,0.18,0.29,0.41,0.29,0.67c0,0.27-0.1,0.5-0.29,0.69c-0.19,0.19-0.42,0.29-0.69,0.29h-3.38c-0.1,0-0.2-0.02-0.29-0.07l-2.41-2.27l-2.39,2.27c-0.08,0.05-0.17,0.07-0.28,0.07H9.05c-0.27,0-0.5-0.1-0.69-0.29C8.17,21.38,8.08,21.15,8.08,20.88zM9,15.36c0,0.97,0.21,1.85,0.62,2.64c0.02,0.12,0.11,0.18,0.25,0.18h1.88c0.07,0,0.12-0.03,0.15-0.08c0.03-0.06,0.02-0.12-0.02-0.19c-0.64-0.77-0.96-1.62-0.96-2.55c0-1.12,0.4-2.08,1.2-2.87c0.8-0.79,1.76-1.18,2.89-1.18c1.12,0,2.07,0.39,2.86,1.18c0.79,0.79,1.19,1.74,1.19,2.87c0,0.94-0.32,1.79-0.95,2.55c-0.04,0.07-0.05,0.13-0.03,0.19s0.07,0.08,0.15,0.08h1.9c0.13,0,0.21-0.06,0.23-0.18C20.8,17.23,21,16.35,21,15.36c0-0.81-0.16-1.59-0.48-2.32c-0.32-0.74-0.75-1.37-1.28-1.91c-0.53-0.53-1.17-0.96-1.91-1.28c-0.74-0.32-1.51-0.47-2.32-0.47c-0.81,0-1.59,0.16-2.33,0.47c-0.74,0.32-1.38,0.74-1.92,1.28c-0.54,0.53-0.97,1.17-1.29,1.91C9.16,13.77,9,14.54,9,15.36zM14.03,6.4v-2.3c0-0.29,0.09-0.52,0.28-0.71s0.43-0.28,0.71-0.28c0.28,0,0.51,0.09,0.7,0.28S16,3.83,16,4.11v2.3c0,0.29-0.09,0.52-0.28,0.71c-0.18,0.18-0.42,0.28-0.7,0.28c-0.29,0-0.52-0.09-0.71-0.28C14.12,6.93,14.03,6.69,14.03,6.4zM20.38,9.04c0-0.25,0.09-0.48,0.27-0.69l1.62-1.65c0.19-0.19,0.43-0.29,0.7-0.29c0.27,0,0.51,0.1,0.69,0.29c0.19,0.19,0.28,0.42,0.28,0.69c0,0.29-0.09,0.53-0.26,0.73L22,9.73c-0.21,0.19-0.45,0.29-0.7,0.29c-0.27,0-0.49-0.09-0.66-0.28S20.38,9.32,20.38,9.04zM22.99,15.36c0-0.27,0.09-0.5,0.27-0.69c0.18-0.19,0.4-0.29,0.66-0.29h2.35c0.27,0,0.5,0.1,0.69,0.29c0.19,0.19,0.29,0.43,0.29,0.69c0,0.28-0.1,0.51-0.29,0.71s-0.42,0.3-0.69,0.3h-2.35c-0.27,0-0.49-0.1-0.67-0.29C23.08,15.88,22.99,15.64,22.99,15.36z\"}}]})(props);\r\n}\r\nexport const WiSunset = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.88,15.47c0-0.28,0.1-0.5,0.3-0.68c0.17-0.18,0.4-0.26,0.68-0.26h2.31c0.27,0,0.49,0.09,0.67,0.27c0.17,0.18,0.26,0.4,0.26,0.67c0,0.28-0.09,0.52-0.27,0.71c-0.18,0.19-0.4,0.29-0.66,0.29H3.87c-0.27,0-0.5-0.1-0.69-0.3C2.98,15.97,2.88,15.74,2.88,15.47zM6.17,7.61c0-0.28,0.08-0.51,0.25-0.68c0.2-0.2,0.43-0.3,0.7-0.3c0.29,0,0.51,0.1,0.68,0.3l1.62,1.63c0.46,0.44,0.46,0.89,0,1.35c-0.19,0.19-0.4,0.28-0.65,0.28c-0.22,0-0.44-0.09-0.68-0.28L6.43,8.29C6.26,8.11,6.17,7.88,6.17,7.61zM8.14,20.89c0-0.26,0.1-0.49,0.3-0.69c0.18-0.18,0.41-0.27,0.68-0.27h3.22c0.11,0,0.2,0.02,0.28,0.08l2.35,2.22L17.36,20c0.07-0.05,0.17-0.08,0.29-0.08h3.3c0.27,0,0.5,0.09,0.69,0.28c0.19,0.19,0.29,0.42,0.29,0.68c0,0.27-0.1,0.5-0.29,0.69c-0.19,0.19-0.42,0.29-0.69,0.29h-2.68l-3.14,2.84c-0.12,0.09-0.23,0.09-0.33,0l-3.08-2.84h-2.6c-0.27,0-0.5-0.1-0.69-0.29C8.24,21.39,8.14,21.16,8.14,20.89zM9.08,15.47c0,0.99,0.19,1.87,0.58,2.62c0.06,0.11,0.15,0.16,0.27,0.16h1.87c0.08,0,0.13-0.02,0.15-0.07c0.02-0.05-0.01-0.11-0.07-0.18c-0.59-0.74-0.89-1.59-0.89-2.53c0-1.1,0.39-2.04,1.18-2.81c0.79-0.77,1.74-1.16,2.85-1.16c1.1,0,2.04,0.39,2.83,1.16c0.78,0.78,1.18,1.71,1.18,2.8c0,0.94-0.3,1.79-0.89,2.53c-0.07,0.07-0.09,0.13-0.07,0.18c0.02,0.05,0.07,0.07,0.15,0.07h1.88c0.13,0,0.21-0.05,0.24-0.16c0.41-0.78,0.62-1.66,0.62-2.62c0-0.79-0.16-1.56-0.47-2.29s-0.74-1.37-1.27-1.9s-1.16-0.95-1.89-1.27c-0.73-0.32-1.5-0.47-2.3-0.47c-0.8,0-1.57,0.16-2.3,0.47c-0.73,0.32-1.36,0.74-1.89,1.27s-0.95,1.16-1.27,1.9S9.08,14.68,9.08,15.47zM14.04,6.66V4.33c0-0.27,0.1-0.5,0.29-0.69s0.42-0.29,0.69-0.29c0.27,0,0.5,0.1,0.69,0.29s0.29,0.42,0.29,0.69v2.32c0,0.27-0.1,0.5-0.29,0.69c-0.19,0.19-0.42,0.29-0.69,0.29c-0.27,0-0.5-0.1-0.69-0.29C14.13,7.15,14.04,6.93,14.04,6.66zM20.31,9.24c0-0.28,0.09-0.51,0.26-0.67l1.63-1.63c0.16-0.2,0.39-0.3,0.68-0.3c0.27,0,0.5,0.1,0.68,0.29c0.18,0.19,0.27,0.42,0.27,0.69c0,0.28-0.08,0.51-0.25,0.68l-1.66,1.63c-0.23,0.19-0.46,0.28-0.69,0.28c-0.26,0-0.48-0.09-0.66-0.28C20.4,9.74,20.31,9.51,20.31,9.24zM22.9,15.47c0-0.27,0.09-0.49,0.26-0.67c0.17-0.18,0.4-0.27,0.67-0.27h2.32c0.27,0,0.5,0.09,0.69,0.27c0.19,0.18,0.29,0.4,0.29,0.67c0,0.27-0.1,0.5-0.29,0.7c-0.19,0.2-0.42,0.3-0.69,0.3h-2.32c-0.26,0-0.48-0.1-0.66-0.29C22.99,15.99,22.9,15.75,22.9,15.47z\"}}]})(props);\r\n}\r\nexport const WiThermometerExterior = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.91,19.56c0-0.85,0.2-1.64,0.59-2.38s0.94-1.35,1.65-1.84V5.42c0-0.8,0.27-1.48,0.82-2.03S14.2,2.55,15,2.55c0.81,0,1.49,0.28,2.04,0.83c0.55,0.56,0.83,1.23,0.83,2.03v9.92c0.71,0.49,1.25,1.11,1.64,1.84s0.58,1.53,0.58,2.38c0,0.92-0.23,1.78-0.68,2.56s-1.07,1.4-1.85,1.85s-1.63,0.68-2.56,0.68c-0.92,0-1.77-0.23-2.55-0.68s-1.4-1.07-1.86-1.85S9.91,20.48,9.91,19.56zM11.67,19.56c0,0.93,0.33,1.73,0.98,2.39c0.65,0.66,1.44,0.99,2.36,0.99c0.93,0,1.73-0.33,2.4-1s1.01-1.46,1.01-2.37c0-0.62-0.16-1.2-0.48-1.73c-0.32-0.53-0.76-0.94-1.32-1.23l-0.28-0.14c-0.1-0.04-0.15-0.14-0.15-0.29V5.42c0-0.32-0.11-0.59-0.34-0.81C15.62,4.4,15.34,4.29,15,4.29c-0.32,0-0.6,0.11-0.83,0.32c-0.23,0.21-0.34,0.48-0.34,0.81v10.74c0,0.15-0.05,0.25-0.14,0.29l-0.27,0.14c-0.55,0.29-0.98,0.7-1.29,1.23C11.82,18.35,11.67,18.92,11.67,19.56z\"}}]})(props);\r\n}\r\nexport const WiThermometerInternal = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.48,19.56c0,0.71,0.24,1.32,0.73,1.82c0.49,0.5,1.07,0.75,1.76,0.75s1.28-0.25,1.79-0.75c0.51-0.5,0.76-1.11,0.76-1.81c0-0.63-0.22-1.19-0.65-1.67c-0.43-0.48-0.96-0.77-1.57-0.85V9.69c0-0.06-0.03-0.13-0.1-0.19c-0.07-0.07-0.14-0.1-0.22-0.1c-0.09,0-0.16,0.03-0.21,0.08c-0.05,0.06-0.08,0.12-0.08,0.21v7.34c-0.61,0.09-1.13,0.37-1.56,0.85C12.69,18.37,12.48,18.92,12.48,19.56z\"}}]})(props);\r\n}\r\nexport const WiThermometer = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.91,19.56c0-0.85,0.2-1.64,0.59-2.38s0.94-1.35,1.65-1.84V5.42c0-0.8,0.27-1.48,0.82-2.03S14.2,2.55,15,2.55c0.81,0,1.49,0.28,2.04,0.83c0.55,0.56,0.83,1.23,0.83,2.03v9.92c0.71,0.49,1.25,1.11,1.64,1.84s0.58,1.53,0.58,2.38c0,0.92-0.23,1.78-0.68,2.56s-1.07,1.4-1.85,1.85s-1.63,0.68-2.56,0.68c-0.92,0-1.77-0.23-2.55-0.68s-1.4-1.07-1.86-1.85S9.91,20.48,9.91,19.56zM11.67,19.56c0,0.93,0.33,1.73,0.98,2.39c0.65,0.66,1.44,0.99,2.36,0.99c0.93,0,1.73-0.33,2.4-1s1.01-1.46,1.01-2.37c0-0.62-0.16-1.2-0.48-1.73c-0.32-0.53-0.76-0.94-1.32-1.23l-0.28-0.14c-0.1-0.04-0.15-0.14-0.15-0.29V5.42c0-0.32-0.11-0.59-0.34-0.81C15.62,4.4,15.34,4.29,15,4.29c-0.32,0-0.6,0.11-0.83,0.32c-0.23,0.21-0.34,0.48-0.34,0.81v10.74c0,0.15-0.05,0.25-0.14,0.29l-0.27,0.14c-0.55,0.29-0.98,0.7-1.29,1.23C11.82,18.35,11.67,18.92,11.67,19.56zM12.45,19.56c0,0.71,0.24,1.32,0.73,1.82s1.07,0.75,1.76,0.75s1.28-0.25,1.79-0.75c0.51-0.5,0.76-1.11,0.76-1.81c0-0.63-0.22-1.19-0.65-1.67c-0.43-0.48-0.96-0.77-1.58-0.85V9.69c0-0.06-0.03-0.13-0.1-0.19c-0.07-0.07-0.14-0.1-0.22-0.1c-0.09,0-0.16,0.03-0.21,0.08c-0.05,0.06-0.08,0.12-0.08,0.21v7.34c-0.61,0.09-1.13,0.37-1.56,0.85C12.66,18.37,12.45,18.92,12.45,19.56z\"}}]})(props);\r\n}\r\nexport const WiThunderstorm = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.63,16.91c0,1.11,0.33,2.1,0.99,2.97s1.52,1.47,2.58,1.79l-0.66,1.68c-0.03,0.14,0.02,0.22,0.14,0.22h2.13l-0.98,4.3h0.28l3.92-5.75c0.04-0.04,0.04-0.09,0.01-0.14c-0.03-0.05-0.08-0.07-0.15-0.07h-2.18l2.48-4.64c0.07-0.14,0.02-0.22-0.14-0.22h-2.94c-0.09,0-0.17,0.05-0.23,0.15l-1.07,2.87c-0.71-0.18-1.3-0.57-1.77-1.16c-0.47-0.59-0.7-1.26-0.7-2.01c0-0.83,0.28-1.55,0.85-2.17c0.57-0.61,1.27-0.97,2.1-1.07l0.53-0.07c0.13,0,0.2-0.06,0.2-0.18l0.07-0.51c0.11-1.08,0.56-1.99,1.37-2.72c0.81-0.73,1.76-1.1,2.85-1.1c1.09,0,2.04,0.37,2.85,1.1c0.82,0.73,1.28,1.64,1.4,2.72l0.07,0.58c0,0.11,0.06,0.17,0.18,0.17h1.6c0.91,0,1.68,0.32,2.32,0.95c0.64,0.63,0.97,1.4,0.97,2.28c0,0.85-0.3,1.59-0.89,2.21c-0.59,0.62-1.33,0.97-2.2,1.04c-0.13,0-0.2,0.06-0.2,0.18v1.37c0,0.11,0.07,0.17,0.2,0.17c1.33-0.04,2.46-0.55,3.39-1.51s1.39-2.11,1.39-3.45c0-0.9-0.22-1.73-0.67-2.49c-0.44-0.76-1.05-1.36-1.81-1.8c-0.77-0.44-1.6-0.66-2.5-0.66H20.1c-0.33-1.33-1.04-2.42-2.11-3.26s-2.3-1.27-3.68-1.27c-1.41,0-2.67,0.44-3.76,1.31s-1.79,1.99-2.1,3.36c-1.11,0.26-2.02,0.83-2.74,1.73S4.63,15.76,4.63,16.91zM12.77,26.62c0,0.39,0.19,0.65,0.58,0.77c0.01,0,0.05,0,0.11,0.01c0.06,0.01,0.11,0.01,0.14,0.01c0.17,0,0.33-0.05,0.49-0.15c0.16-0.1,0.27-0.26,0.32-0.48l2.25-8.69c0.06-0.24,0.04-0.45-0.07-0.65c-0.11-0.19-0.27-0.32-0.5-0.39c-0.17-0.02-0.26-0.03-0.26-0.03c-0.16,0-0.32,0.05-0.47,0.15c-0.15,0.1-0.26,0.25-0.31,0.45l-2.26,8.72C12.78,26.44,12.77,26.53,12.77,26.62zM16.93,23.56c0,0.13,0.03,0.26,0.1,0.38c0.14,0.22,0.31,0.37,0.51,0.44c0.11,0.03,0.21,0.05,0.3,0.05s0.2-0.02,0.32-0.08c0.21-0.09,0.35-0.28,0.42-0.57l1.44-5.67c0.03-0.14,0.05-0.23,0.05-0.27c0-0.15-0.05-0.3-0.16-0.45s-0.26-0.26-0.46-0.32c-0.17-0.02-0.26-0.03-0.26-0.03c-0.17,0-0.33,0.05-0.47,0.15c-0.14,0.1-0.24,0.25-0.3,0.45l-1.46,5.7c0,0.02,0,0.05-0.01,0.11C16.93,23.5,16.93,23.53,16.93,23.56z\"}}]})(props);\r\n}\r\nexport const WiTime1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM14.14,14.47V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24c0.22,0,0.42,0.08,0.59,0.24s0.25,0.36,0.25,0.59v3.53l0.75-1.3c0.12-0.2,0.29-0.32,0.52-0.38s0.44-0.03,0.64,0.09c0.2,0.11,0.32,0.27,0.39,0.5s0.04,0.43-0.08,0.63l-2.29,3.91c-0.13,0.35-0.38,0.53-0.76,0.53c-0.23,0-0.43-0.08-0.59-0.24S14.14,14.71,14.14,14.47z\"}}]})(props);\r\n}\r\nexport const WiTime10 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM10.14,12.41c-0.07-0.22-0.04-0.43,0.07-0.63c0.11-0.2,0.28-0.33,0.51-0.4s0.44-0.04,0.64,0.07l2.78,1.57V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v6.67c0,0.23-0.08,0.43-0.24,0.59s-0.36,0.24-0.59,0.24c-0.21,0-0.39-0.07-0.56-0.22l-3.88-2.17C10.34,12.8,10.21,12.63,10.14,12.41z\"}}]})(props);\r\n}\r\nexport const WiTime11 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21c-1.35-0.79-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18C9.27,7.65,8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM11.84,10.24c0.06-0.22,0.19-0.39,0.38-0.5c0.2-0.12,0.41-0.15,0.64-0.09s0.4,0.19,0.51,0.38l0.78,1.3V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v6.67c0,0.23-0.08,0.43-0.24,0.59s-0.36,0.24-0.59,0.24c-0.4,0-0.66-0.18-0.79-0.53l-2.26-3.91C11.81,10.67,11.78,10.46,11.84,10.24z\"}}]})(props);\r\n}\r\nexport const WiTime12 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM14.14,14.47c0,0.22,0.08,0.42,0.24,0.59c0.16,0.17,0.36,0.25,0.59,0.25c0.22,0,0.42-0.08,0.59-0.25c0.17-0.17,0.25-0.36,0.25-0.59V7.81c0-0.23-0.08-0.43-0.25-0.59s-0.36-0.24-0.59-0.24c-0.23,0-0.43,0.08-0.59,0.24s-0.24,0.36-0.24,0.59V14.47z\"}}]})(props);\r\n}\r\nexport const WiTime2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM14.14,14.47V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v5.21l2.78-1.57c0.2-0.12,0.41-0.15,0.63-0.09s0.39,0.2,0.5,0.41c0.12,0.2,0.14,0.41,0.08,0.63s-0.19,0.4-0.39,0.51l-3.88,2.17c-0.17,0.15-0.35,0.22-0.56,0.22c-0.23,0-0.43-0.08-0.59-0.24S14.14,14.71,14.14,14.47z\"}}]})(props);\r\n}\r\nexport const WiTime3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM14.14,14.47V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v5.82h3.78c0.23,0,0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59c0,0.22-0.08,0.42-0.24,0.59c-0.16,0.17-0.36,0.25-0.59,0.25h-4.44c-0.03,0.01-0.09,0.01-0.18,0.01c-0.23,0-0.43-0.08-0.59-0.24S14.14,14.71,14.14,14.47z\"}}]})(props);\r\n}\r\nexport const WiTime4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM14.14,14.47V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v6.15l3.59,2.09c0.2,0.12,0.32,0.29,0.38,0.51s0.03,0.43-0.09,0.62c-0.16,0.28-0.4,0.42-0.72,0.42c-0.17,0-0.31-0.04-0.42-0.12l-3.82-2.23c-0.17-0.05-0.31-0.15-0.42-0.29S14.14,14.66,14.14,14.47z\"}}]})(props);\r\n}\r\nexport const WiTime5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM14.14,14.47V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v6.42l2.15,3.84c0.12,0.21,0.14,0.43,0.08,0.65s-0.19,0.39-0.39,0.51c-0.11,0.06-0.24,0.09-0.41,0.09c-0.33,0-0.58-0.14-0.73-0.41l-2.2-3.9C14.2,14.85,14.14,14.68,14.14,14.47z\"}}]})(props);\r\n}\r\nexport const WiTime6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM14.14,19.07V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v11.26c0,0.23-0.08,0.43-0.24,0.6s-0.36,0.25-0.59,0.25s-0.43-0.08-0.59-0.25S14.14,19.31,14.14,19.07z\"}}]})(props);\r\n}\r\nexport const WiTime7 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM11.89,18.71c-0.06-0.22-0.04-0.44,0.08-0.65l2.17-3.84V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v6.67c0,0.2-0.06,0.37-0.19,0.53l-2.18,3.9c-0.16,0.27-0.41,0.41-0.75,0.41c-0.16,0-0.29-0.03-0.4-0.09C12.09,19.1,11.96,18.93,11.89,18.71z\"}}]})(props);\r\n}\r\nexport const WiTime8 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM10.17,16.56c0.06-0.22,0.19-0.39,0.38-0.51l3.59-2.09V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v6.67c0,0.19-0.06,0.35-0.17,0.5s-0.25,0.24-0.42,0.29l-3.84,2.23c-0.12,0.08-0.25,0.12-0.41,0.12c-0.32,0-0.56-0.14-0.72-0.42C10.14,16.99,10.11,16.78,10.17,16.56z\"}}]})(props);\r\n}\r\nexport const WiTime9 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.47c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16,3.74,14.47zM6.22,14.47c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.72,7.4,10.07S6.22,12.89,6.22,14.47zM9.51,14.46c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24h3.79V7.81c0-0.23,0.08-0.43,0.24-0.59s0.36-0.24,0.59-0.24s0.43,0.08,0.59,0.24s0.24,0.36,0.24,0.59v6.67c0,0.23-0.08,0.43-0.24,0.59s-0.36,0.24-0.59,0.24c-0.1,0-0.16,0-0.19-0.01h-4.44c-0.23,0-0.43-0.08-0.59-0.25C9.59,14.88,9.51,14.68,9.51,14.46z\"}}]})(props);\r\n}\r\nexport const WiTornado = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.13,15.19c0,0.69,0.36,1.28,1.08,1.77c1.32,0.93,3.31,1.39,5.98,1.39c1.2,0,2.31-0.1,3.34-0.31c1.08-0.23,1.97-0.6,2.65-1.1s1.03-1.08,1.03-1.76c0-0.21-0.04-0.41-0.12-0.62c1.39-0.34,2.48-0.8,3.27-1.38s1.19-1.25,1.19-2c0-0.19-0.03-0.39-0.09-0.6c2.29-0.81,3.43-1.9,3.43-3.28c0-0.88-0.5-1.66-1.49-2.34c-1.95-1.3-4.81-1.95-8.58-1.95c-1.78,0-3.39,0.16-4.83,0.47C9.42,3.8,8.16,4.3,7.2,4.98S5.76,6.44,5.76,7.31c0,0.52,0.16,0.99,0.48,1.42c-1.18,0.67-1.77,1.49-1.77,2.46c0,0.75,0.37,1.41,1.1,1.98C4.61,13.73,4.13,14.4,4.13,15.19zM4.73,19.69c0,0.73,0.45,1.31,1.35,1.72s2.04,0.62,3.41,0.62c1.39,0,2.53-0.21,3.44-0.62s1.36-0.99,1.36-1.72c0-0.27-0.09-0.5-0.26-0.69s-0.4-0.28-0.67-0.28c-0.22,0-0.42,0.08-0.6,0.23s-0.29,0.35-0.34,0.57c-0.2,0.16-0.56,0.3-1.1,0.43s-1.15,0.2-1.83,0.2c-1.1,0-2-0.16-2.68-0.47c0.16-0.16,0.24-0.36,0.26-0.6s-0.04-0.45-0.15-0.62c-0.16-0.21-0.36-0.35-0.61-0.4s-0.48,0-0.7,0.13C5.02,18.6,4.73,19.09,4.73,19.69zM6.01,15.19c0-0.01,0.06-0.07,0.19-0.18c0.09-0.09,0.28-0.2,0.56-0.34s0.61-0.25,0.96-0.35l0.12-0.06c1.62,0.54,3.51,0.81,5.67,0.81c0.95,0,1.81-0.05,2.58-0.16l0.26,0.23c-0.09,0.16-0.3,0.32-0.63,0.5c-0.4,0.21-1.02,0.41-1.86,0.57s-1.73,0.25-2.67,0.25s-1.83-0.08-2.67-0.25s-1.47-0.36-1.88-0.57C6.3,15.5,6.09,15.35,6.01,15.19zM6.12,23.61c0,0.63,0.36,1.12,1.08,1.46s1.61,0.51,2.67,0.51c1.08,0,1.99-0.17,2.72-0.51s1.1-0.83,1.1-1.46c0-0.25-0.09-0.48-0.28-0.67s-0.41-0.29-0.66-0.29c-0.47,0-0.78,0.24-0.92,0.72c-0.39,0.24-1.04,0.37-1.96,0.37c-0.8,0-1.44-0.12-1.92-0.37c-0.15-0.48-0.45-0.72-0.92-0.72c-0.25,0-0.47,0.09-0.64,0.28S6.12,23.34,6.12,23.61zM6.33,11.19c0-0.08,0.05-0.17,0.15-0.28c0.24-0.3,0.72-0.6,1.42-0.88c1.92,1.03,4.56,1.54,7.91,1.54c1.71,0,3.32-0.16,4.82-0.47v0.09c0,0.15-0.09,0.3-0.28,0.45c-0.41,0.36-1.17,0.7-2.29,1.03c-1.21,0.36-2.73,0.54-4.56,0.54c-1.84,0-3.36-0.18-4.57-0.54C7.77,12.35,7,12.01,6.61,11.65C6.42,11.5,6.33,11.35,6.33,11.19zM7.63,7.31c0-0.18,0.12-0.37,0.35-0.59C8.43,6.3,9.33,5.9,10.66,5.51c1.43-0.42,3.14-0.63,5.14-0.63c2.01,0,3.74,0.21,5.19,0.63c1.35,0.39,2.24,0.8,2.68,1.22c0.22,0.22,0.34,0.42,0.34,0.59s-0.11,0.35-0.34,0.56c-0.44,0.42-1.33,0.83-2.68,1.23c-1.45,0.42-3.17,0.63-5.19,0.63c-2,0-3.72-0.21-5.14-0.63C9.32,8.71,8.42,8.3,7.98,7.87C7.75,7.66,7.63,7.48,7.63,7.31z\"}}]})(props);\r\n}\r\nexport const WiTrain = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.25,12.68v-0.32c0-0.1,0.03-0.18,0.1-0.25c0.07-0.07,0.15-0.1,0.25-0.1h7.58c0.1,0,0.18,0.03,0.25,0.1c0.07,0.07,0.1,0.15,0.1,0.25v0.32c0,0.1-0.03,0.18-0.1,0.25c-0.07,0.07-0.15,0.1-0.25,0.1h-0.44v1.65h2.12c0.02-0.28,0.14-0.52,0.35-0.71c0.21-0.19,0.46-0.29,0.75-0.29c0.29,0,0.53,0.1,0.74,0.29c0.21,0.19,0.32,0.43,0.35,0.71h1.32v-3.39c-0.14-0.01-0.25-0.06-0.35-0.16c-0.1-0.1-0.15-0.23-0.15-0.37v-0.31c0-0.14,0.05-0.27,0.16-0.38s0.24-0.16,0.39-0.16h1.99c0.15,0,0.28,0.05,0.38,0.16s0.15,0.23,0.15,0.38v0.31c0,0.14-0.05,0.27-0.14,0.37c-0.09,0.1-0.2,0.16-0.34,0.16v3.39h1.56c0.27,0,0.51,0.1,0.71,0.3s0.3,0.44,0.3,0.71v2.93l3.73,4.87h-4.74v-3.04h-0.71c0.11,0.26,0.16,0.54,0.16,0.83c0,0.61-0.21,1.12-0.64,1.56c-0.43,0.43-0.95,0.65-1.55,0.65c-0.61,0-1.12-0.22-1.56-0.65c-0.43-0.43-0.65-0.95-0.65-1.56c0-0.29,0.05-0.57,0.16-0.83h-1c0.11,0.27,0.17,0.55,0.17,0.83c0,0.61-0.22,1.12-0.65,1.56s-0.95,0.65-1.56,0.65c-0.61,0-1.12-0.22-1.55-0.65s-0.64-0.95-0.64-1.56c0-0.29,0.05-0.57,0.16-0.83H9.97c0.12,0.29,0.18,0.57,0.18,0.83c0,0.61-0.22,1.12-0.65,1.56s-0.95,0.65-1.56,0.65s-1.12-0.22-1.56-0.65s-0.65-0.95-0.65-1.56c0-0.29,0.06-0.57,0.17-0.84c-0.24-0.04-0.45-0.15-0.61-0.34s-0.24-0.41-0.24-0.66v-0.86H5.03v-5.55H4.6c-0.1,0-0.18-0.03-0.25-0.1C4.28,12.86,4.25,12.78,4.25,12.68zM6.3,16.62c0,0.21,0.07,0.39,0.22,0.54c0.15,0.15,0.33,0.22,0.54,0.22h1.44c0.21,0,0.39-0.07,0.53-0.22c0.14-0.15,0.22-0.33,0.22-0.54v-2.3c0-0.21-0.07-0.38-0.22-0.53c-0.15-0.15-0.32-0.22-0.53-0.22H7.07c-0.21,0-0.39,0.07-0.54,0.23c-0.15,0.15-0.22,0.32-0.22,0.52V16.62zM15.78,5.43c0,0.41,0.16,0.76,0.47,1.04c0,0.2,0.09,0.43,0.26,0.68s0.36,0.4,0.56,0.44c0.04,0.22,0.15,0.41,0.31,0.57c0.16,0.15,0.36,0.25,0.59,0.3c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.18,0.06,0.33,0.18,0.45c0.12,0.12,0.27,0.18,0.45,0.18c0.18,0,0.33-0.06,0.46-0.19c0.13-0.12,0.19-0.28,0.19-0.45c0-0.02,0-0.05-0.01-0.09c-0.01-0.04-0.01-0.08-0.01-0.1h0.03c0.21,0,0.39-0.08,0.54-0.23c0.15-0.15,0.23-0.34,0.23-0.55c0-0.1-0.04-0.22-0.12-0.38c0.17-0.09,0.31-0.25,0.41-0.47h0.45C21,7,21.34,6.85,21.61,6.57c0.28-0.28,0.42-0.61,0.42-1.01c0-0.34-0.11-0.64-0.33-0.9c-0.22-0.26-0.5-0.43-0.83-0.52c-0.08-0.4-0.29-0.73-0.62-0.99s-0.71-0.39-1.12-0.39c-0.41,0-0.77,0.13-1.08,0.38c-0.31,0.25-0.52,0.58-0.62,0.97h-0.11c-0.41,0-0.77,0.13-1.08,0.39C15.93,4.75,15.78,5.07,15.78,5.43z\"}}]})(props);\r\n}\r\nexport const WiTsunami = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.07,21.24c0-0.16,0.06-0.3,0.17-0.42c0.12-0.12,0.25-0.18,0.41-0.18h0.4c-0.21-0.66-0.39-1.35-0.53-2.07c-0.21-1.1-0.32-2.1-0.32-2.99c0-1.71,0.3-3.32,0.91-4.81C6.73,9.31,7.59,8.06,8.7,7.01c1.12-1.06,2.42-1.87,3.9-2.42c1.51-0.57,3.14-0.86,4.91-0.86c1.06,0,2.06,0.09,3,0.28c0.94,0.22,1.85,0.56,2.73,1.03l1.7,0.91l-1.88,0.39c-0.58,0.13-0.98,0.39-1.2,0.78c-0.16,0.32-0.15,0.69,0.03,1.11l0.41,0.95l-1.02,0.05c-0.43,0.03-0.83,0.12-1.18,0.27c-0.33,0.16-0.52,0.32-0.58,0.5c-0.11,0.23,0.01,0.56,0.36,1l0.81,0.96l-1.26,0.18c-1.55,0.23-2.82,0.55-3.81,0.96s-1.77,0.94-2.35,1.59c-0.56,0.62-0.98,1.42-1.25,2.37c-0.27,0.96-0.42,2.15-0.45,3.59h5.26v-2.78l-0.38,0.23c-0.14,0.09-0.29,0.11-0.45,0.07c-0.17-0.04-0.29-0.13-0.37-0.28c-0.09-0.14-0.11-0.29-0.08-0.45s0.12-0.29,0.27-0.38l3.82-2.38l0.02-0.02c0.01,0,0.01,0,0.01-0.01h0.02c0.01,0,0.02,0,0.03-0.01c0.07-0.02,0.14-0.05,0.23-0.07h0.06c0.01,0.01,0.02,0.02,0.03,0.02h0.07c0,0.01,0.01,0.01,0.02,0.01h0.03l0.02,0.01h0.02c0.01,0.01,0.02,0.02,0.02,0.03h0.02c0.01,0,0.01,0,0.01,0.01c0.02,0,0.03,0,0.03,0.01c0.01,0,0.02,0,0.03,0.01l0.02,0.01l3.82,2.35c0.14,0.09,0.23,0.22,0.27,0.38c0.03,0.17,0.01,0.32-0.08,0.46c-0.08,0.14-0.2,0.23-0.37,0.26s-0.32,0.01-0.45-0.08l-0.31-0.19v2.77h0.96c0.16,0,0.29,0.06,0.4,0.18c0.11,0.12,0.16,0.26,0.16,0.42c0.01,0.17-0.05,0.31-0.16,0.43c-0.11,0.12-0.25,0.18-0.4,0.18H5.65c-0.16,0-0.3-0.06-0.41-0.17C5.13,21.56,5.07,21.42,5.07,21.24zM6.62,15.58c0,0.71,0.1,1.62,0.3,2.73c0.15,0.81,0.33,1.52,0.54,2.12h2.69c0.05-1.45,0.2-2.65,0.45-3.59c0.35-1.27,0.88-2.31,1.6-3.09c0.73-0.82,1.69-1.47,2.89-1.96c0.82-0.34,1.86-0.63,3.11-0.87l-0.08-0.25c-0.1-0.46-0.07-0.87,0.09-1.23c0.22-0.51,0.65-0.92,1.28-1.21c0.07-0.03,0.13-0.06,0.19-0.07c-0.86-0.2-1.73-0.25-2.6-0.14c-0.99,0.12-1.92,0.41-2.78,0.85c-1.11,0.58-2.11,1.41-3.01,2.48c-0.1,0.12-0.23,0.18-0.38,0.18c-0.12,0-0.22-0.03-0.31-0.1c-0.1-0.09-0.16-0.2-0.17-0.34s0.02-0.26,0.11-0.37c1-1.19,2.11-2.1,3.34-2.73c0.98-0.49,2.03-0.81,3.14-0.95c0.57-0.07,1.12-0.08,1.67-0.02c0.54,0.06,0.92,0.12,1.14,0.17s0.37,0.09,0.45,0.12l0.08,0.03c0.05-0.31,0.13-0.59,0.24-0.84c0.16-0.29,0.37-0.56,0.64-0.8c-0.3-0.09-0.65-0.19-1.04-0.28c-0.8-0.18-1.7-0.26-2.69-0.26c-1.58,0-3.05,0.26-4.42,0.77c-1.34,0.51-2.48,1.22-3.42,2.14c-0.98,0.91-1.73,2-2.23,3.26C6.89,12.65,6.62,14.07,6.62,15.58zM18.05,20.64h3.88v-3.52l-1.98-1.21l-1.9,1.19V20.64z\"}}]})(props);\r\n}\r\nexport const WiUmbrella = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.64,14.65c0.01-0.34,0.18-0.86,0.5-1.58c0.32-0.72,0.76-1.48,1.33-2.3c1.86-2.61,4.49-3.98,7.88-4.13V6.21c0-0.21,0.07-0.37,0.21-0.5c0.14-0.13,0.3-0.19,0.48-0.19c0.19,0,0.35,0.06,0.5,0.19c0.14,0.13,0.22,0.3,0.22,0.5v0.44c0.98,0.04,1.9,0.19,2.75,0.45c0.85,0.26,1.59,0.59,2.22,1c0.63,0.41,1.17,0.83,1.61,1.27c0.45,0.43,0.85,0.9,1.2,1.41c0.41,0.59,0.77,1.23,1.06,1.9c0.29,0.67,0.5,1.21,0.61,1.61c0.11,0.4,0.17,0.6,0.18,0.61v0.19c0,0.18-0.07,0.32-0.21,0.44s-0.3,0.17-0.49,0.17c-0.31,0-0.51-0.09-0.6-0.26c-0.78-0.88-1.63-1.31-2.55-1.31c-0.34,0.02-0.69,0.1-1.03,0.23c-0.34,0.13-0.62,0.27-0.82,0.42c-0.21,0.14-0.4,0.29-0.58,0.44c-0.18,0.15-0.27,0.22-0.28,0.23c-0.19,0.17-0.37,0.26-0.53,0.26c-0.23,0-0.4-0.06-0.52-0.18c-0.73-0.73-1.39-1.17-2.01-1.32v7.57l0,0.17l-0.01,0.21l-0.04,0.23l-0.06,0.25l-0.09,0.26l-0.13,0.27l-0.17,0.26l-0.21,0.25c-0.51,0.59-1.23,0.88-2.18,0.88c-1.01,0-1.77-0.29-2.28-0.88c-0.12-0.12-0.22-0.25-0.31-0.38c-0.09-0.14-0.16-0.27-0.21-0.41c-0.05-0.13-0.09-0.26-0.12-0.38s-0.05-0.24-0.06-0.36C9.88,22,9.87,21.9,9.87,21.82s0-0.16,0-0.23s0.01-0.12,0.01-0.13c0-0.18,0.08-0.34,0.23-0.47c0.16-0.13,0.34-0.18,0.55-0.14c0.18,0,0.32,0.08,0.44,0.23s0.18,0.34,0.18,0.56c-0.06,0.41,0.02,0.76,0.25,1.05c0.21,0.29,0.65,0.44,1.32,0.44c0.52,0,0.9-0.12,1.13-0.36c0.13-0.13,0.23-0.29,0.29-0.48c0.06-0.19,0.09-0.34,0.08-0.47l-0.01-0.19v-7.36c-0.73,0.18-1.38,0.56-1.93,1.14c-0.04,0.08-0.12,0.16-0.23,0.23s-0.21,0.11-0.3,0.11c-0.18,0-0.38-0.11-0.6-0.34c-0.8-0.89-1.65-1.33-2.55-1.31c-0.4,0.01-0.78,0.07-1.12,0.2C7.26,14.43,7,14.56,6.82,14.69c-0.17,0.13-0.36,0.28-0.54,0.45s-0.29,0.27-0.32,0.29c-0.21,0.14-0.38,0.22-0.51,0.22s-0.3-0.06-0.48-0.17c-0.16-0.1-0.26-0.21-0.3-0.32C4.64,15.04,4.63,14.87,4.64,14.65zM6.73,13.23c0.68-0.36,1.32-0.53,1.92-0.53h0.08c1.15,0,2.2,0.44,3.15,1.33c0.38-0.33,0.84-0.62,1.39-0.88c0.54-0.26,1.13-0.41,1.77-0.45h0.08c1.15,0,2.2,0.44,3.15,1.33c0.38-0.33,0.84-0.62,1.39-0.88c0.54-0.26,1.13-0.41,1.77-0.45h0.09c0.56,0,1.15,0.15,1.75,0.44c-0.44-0.86-0.74-1.41-0.88-1.66c-1.79-2.34-4.27-3.51-7.43-3.51c-1.58,0-2.99,0.3-4.24,0.9c-1.24,0.6-2.26,1.47-3.05,2.61C7.44,11.82,7.12,12.41,6.73,13.23z\"}}]})(props);\r\n}\r\nexport const WiVolcano = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.39,22.61c-0.12-0.27-0.09-0.54,0.09-0.81l1.4-2.67c0.01-0.04,0.05-0.09,0.11-0.15c0.04-0.04,0.17-0.14,0.38-0.29c0.02-0.01,0.25-0.18,0.68-0.5c0.48-0.32,1.03-0.72,1.68-1.19l1.8-2.98c0.17-0.27,0.41-0.41,0.72-0.41h0.7c-0.16,0.19-0.31,0.39-0.45,0.6c-0.14,0.21-0.27,0.5-0.38,0.85c-0.12,0.36-0.18,0.71-0.18,1.07c0,0.36,0.09,0.77,0.28,1.25c0.19,0.47,0.48,0.94,0.88,1.39c0.27,0.31,0.44,0.62,0.5,0.93s0.02,0.58-0.1,0.83c-0.12,0.25-0.32,0.5-0.59,0.74c-0.27,0.24-0.56,0.45-0.88,0.63c-0.32,0.18-0.68,0.35-1.07,0.52c-0.39,0.17-0.75,0.3-1.05,0.41c-0.31,0.1-0.62,0.2-0.93,0.29H8.16c-0.16,0-0.32-0.05-0.46-0.14C7.55,22.89,7.45,22.77,7.39,22.61zM10.14,7.74c0-0.46,0.15-0.88,0.45-1.24c0.3-0.37,0.69-0.6,1.16-0.72c0.11-0.56,0.4-1.02,0.85-1.38s0.98-0.54,1.56-0.54c0.56,0,1.06,0.17,1.5,0.52s0.73,0.8,0.86,1.35h0.14c0.57,0,1.07,0.18,1.5,0.54c0.42,0.36,0.64,0.79,0.64,1.3c0,0.56-0.22,1.03-0.65,1.43c0,0.27-0.12,0.59-0.36,0.93c-0.24,0.35-0.5,0.55-0.78,0.61c-0.06,0.31-0.21,0.57-0.43,0.78c-0.23,0.22-0.5,0.36-0.82,0.43c0.15,0.16,0.22,0.34,0.22,0.54c0,0.25-0.09,0.46-0.26,0.63c-0.18,0.17-0.39,0.25-0.64,0.25c-0.24,0-0.45-0.09-0.63-0.26c-0.18-0.17-0.26-0.38-0.26-0.62c0-0.03,0.01-0.08,0.02-0.14s0.02-0.11,0.02-0.13H14.2c-0.29,0-0.54-0.11-0.75-0.32c-0.21-0.21-0.32-0.46-0.32-0.75c0-0.12,0.06-0.3,0.18-0.53c-0.24-0.12-0.43-0.33-0.57-0.63h-0.63c-0.54-0.05-1.01-0.27-1.39-0.65C10.34,8.76,10.14,8.29,10.14,7.74zM14.76,15.48c0-0.16,0.02-0.34,0.07-0.54c0.05-0.2,0.11-0.35,0.16-0.47c0.05-0.12,0.12-0.27,0.21-0.45c0.09-0.18,0.15-0.31,0.19-0.41h0.38c0.28,0,0.49,0.11,0.66,0.32l0.07,0.1l1.31,2.48l4.65,5.23l0.04,0.03c0.21,0.27,0.24,0.56,0.08,0.88c-0.15,0.31-0.4,0.46-0.75,0.46H16.2c0.17-0.16,0.32-0.29,0.44-0.39c0.12-0.11,0.27-0.27,0.45-0.49s0.33-0.43,0.42-0.61s0.17-0.42,0.23-0.69c0.06-0.27,0.07-0.53,0.01-0.79c-0.06-0.25-0.18-0.53-0.38-0.84c-0.19-0.31-0.46-0.61-0.81-0.91c-0.34-0.3-0.64-0.59-0.88-0.88c-0.24-0.28-0.43-0.54-0.56-0.76c-0.13-0.22-0.23-0.45-0.29-0.68C14.79,15.84,14.76,15.64,14.76,15.48z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort0 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.01,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17H16c0.17,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.13-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.28,0.53s0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.6c-0.16,0-0.3,0.06-0.42,0.17C5.07,13.21,5.01,13.34,5.01,13.5zM5.01,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.6c-0.16,0-0.3,0.06-0.42,0.17C5.07,11.18,5.01,11.32,5.01,11.48zM18.27,18.9c0,0.52,0.08,0.98,0.24,1.37s0.38,0.71,0.66,0.94c0.28,0.23,0.58,0.4,0.91,0.52c0.33,0.11,0.68,0.17,1.05,0.17c0.51,0,0.98-0.09,1.41-0.26c0.43-0.17,0.77-0.4,1.05-0.69c0.27-0.29,0.51-0.61,0.71-0.95c0.2-0.34,0.35-0.7,0.45-1.08s0.18-0.72,0.23-1.03s0.07-0.6,0.07-0.86c0-0.97-0.27-1.72-0.8-2.25s-1.24-0.8-2.12-0.8c-0.49,0-0.97,0.12-1.43,0.35s-0.87,0.56-1.23,0.98c-0.36,0.42-0.65,0.94-0.86,1.56C18.38,17.49,18.27,18.17,18.27,18.9zM20.32,18.96c0-0.15,0.01-0.34,0.04-0.58c0.03-0.23,0.08-0.51,0.16-0.83c0.08-0.32,0.18-0.62,0.3-0.89c0.12-0.27,0.29-0.5,0.52-0.69c0.22-0.19,0.47-0.29,0.75-0.29c0.27,0,0.49,0.09,0.65,0.26c0.16,0.17,0.23,0.44,0.23,0.79c0,0.96-0.17,1.78-0.5,2.45s-0.74,1.01-1.23,1.01C20.63,20.19,20.32,19.78,20.32,18.96z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort1 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.76,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.17,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.12-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.27,0.53s0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H6.35c-0.16,0-0.3,0.06-0.42,0.17C5.81,13.21,5.76,13.34,5.76,13.5zM5.76,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H6.35c-0.16,0-0.3,0.06-0.42,0.17C5.81,11.18,5.76,11.32,5.76,11.48zM18.65,21.85h2.47l1.65-7.98H20.3L18.65,21.85z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort10 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.15,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.18,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.12-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.27,0.53s0.91-0.17,1.26-0.52s0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H3.75c-0.16,0-0.3,0.06-0.42,0.17C3.21,13.21,3.15,13.34,3.15,13.5zM3.15,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H3.75c-0.16,0-0.3,0.06-0.42,0.17C3.21,11.18,3.15,11.32,3.15,11.48zM15.97,21.8h2.46l1.64-7.94h-2.45L15.97,21.8zM20.16,18.88c0,0.52,0.08,0.98,0.24,1.38s0.38,0.72,0.66,0.95c0.27,0.23,0.58,0.4,0.9,0.52s0.68,0.17,1.05,0.17c0.61,0,1.16-0.12,1.64-0.38c0.48-0.25,0.86-0.56,1.13-0.93c0.27-0.37,0.5-0.79,0.68-1.25c0.18-0.47,0.3-0.89,0.37-1.27c0.06-0.38,0.09-0.73,0.09-1.05c0-0.97-0.27-1.72-0.8-2.25s-1.24-0.8-2.13-0.8c-1.03,0-1.93,0.46-2.7,1.37C20.54,16.26,20.16,17.44,20.16,18.88zM22.21,18.98c0-0.16,0.01-0.35,0.04-0.59c0.03-0.23,0.08-0.51,0.16-0.84c0.08-0.32,0.18-0.62,0.3-0.9c0.12-0.27,0.29-0.5,0.52-0.69c0.22-0.19,0.47-0.29,0.75-0.29c0.27,0,0.48,0.09,0.65,0.27c0.16,0.18,0.24,0.44,0.24,0.79c0,0.96-0.17,1.78-0.5,2.45s-0.75,1.01-1.23,1.01C22.52,20.19,22.21,19.79,22.21,18.98z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort11 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.68,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.17,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.13-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.28,0.53s0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.27c-0.16,0-0.3,0.06-0.42,0.17C4.74,13.21,4.68,13.34,4.68,13.5zM4.68,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.27c-0.16,0-0.3,0.06-0.42,0.17C4.74,11.18,4.68,11.32,4.68,11.48zM17.57,21.9h2.47l1.65-7.99h-2.47L17.57,21.9zM21.3,21.9h2.46l1.65-7.99h-2.45L21.3,21.9z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort12 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.07,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.17,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.13-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.28,0.53s0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H3.66c-0.16,0-0.3,0.06-0.42,0.17C3.13,13.21,3.07,13.34,3.07,13.5zM3.07,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H3.66c-0.16,0-0.3,0.06-0.42,0.17C3.13,11.18,3.07,11.32,3.07,11.48zM15.96,21.9h2.47l1.65-7.99h-2.47L15.96,21.9zM19.51,21.9h6.62l0.4-1.9h-3.67v-0.02c0.2-0.09,0.49-0.22,0.86-0.37c0.38-0.15,0.69-0.28,0.95-0.38s0.54-0.25,0.86-0.44c0.32-0.19,0.58-0.38,0.77-0.58s0.36-0.45,0.5-0.75s0.21-0.64,0.21-1c0-0.56-0.14-1.02-0.43-1.4c-0.29-0.38-0.65-0.64-1.08-0.8c-0.43-0.16-0.92-0.23-1.45-0.23c-0.97,0-1.76,0.26-2.37,0.78c-0.61,0.52-0.98,1.29-1.1,2.31h2.07c0-0.38,0.11-0.69,0.33-0.95c0.22-0.26,0.53-0.38,0.93-0.38c0.3,0,0.52,0.08,0.67,0.24c0.15,0.16,0.22,0.34,0.22,0.55c0,0.32-0.11,0.58-0.33,0.76c-0.22,0.18-0.63,0.42-1.25,0.72c-0.04,0.01-0.07,0.02-0.08,0.04c-0.89,0.43-1.44,0.7-1.65,0.83c-0.79,0.47-1.34,1.06-1.65,1.74C19.68,21.03,19.57,21.44,19.51,21.9z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort2 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.94,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.17,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.12-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.27,0.53s0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.53c-0.16,0-0.3,0.06-0.42,0.17C4.99,13.21,4.94,13.34,4.94,13.5zM4.94,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16C19,9.66,19.15,9.6,19.34,9.6c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.53c-0.16,0-0.3,0.06-0.42,0.17C4.99,11.18,4.94,11.32,4.94,11.48zM17.66,21.85h6.62l0.4-1.89H21v-0.03c0.2-0.09,0.49-0.22,0.86-0.37c0.38-0.15,0.69-0.28,0.95-0.38s0.55-0.25,0.87-0.44s0.57-0.38,0.77-0.57c0.19-0.19,0.36-0.44,0.5-0.75s0.21-0.64,0.21-1c0-0.56-0.14-1.02-0.43-1.4s-0.65-0.65-1.08-0.81c-0.43-0.16-0.92-0.24-1.45-0.24c-0.97,0-1.76,0.26-2.38,0.78c-0.62,0.52-0.98,1.29-1.1,2.31h2.09c0-0.37,0.11-0.68,0.32-0.94c0.22-0.26,0.52-0.38,0.91-0.38c0.3,0,0.52,0.08,0.67,0.24s0.23,0.34,0.23,0.54c0,0.12-0.01,0.23-0.03,0.32s-0.07,0.19-0.15,0.28s-0.15,0.16-0.21,0.22s-0.17,0.13-0.34,0.23c-0.17,0.09-0.3,0.17-0.4,0.22c-0.1,0.05-0.27,0.13-0.53,0.25c-0.88,0.43-1.43,0.71-1.64,0.83c-0.8,0.48-1.35,1.07-1.66,1.78C17.82,21.01,17.71,21.41,17.66,21.85z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort3 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.03,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.17,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.12-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.27,0.53s0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.62c-0.16,0-0.3,0.06-0.42,0.17C5.09,13.21,5.03,13.34,5.03,13.5zM5.03,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51C18.06,9.09,18,9.23,18,9.38c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.62c-0.16,0-0.3,0.06-0.42,0.17C5.09,11.18,5.03,11.32,5.03,11.48zM18.12,19.52c0,0.27,0.05,0.53,0.16,0.79c0.11,0.26,0.27,0.5,0.5,0.75c0.23,0.24,0.55,0.43,0.96,0.58s0.9,0.22,1.46,0.22c1.21,0,2.08-0.24,2.63-0.72c0.55-0.48,0.82-1.13,0.82-1.95c0-0.36-0.1-0.69-0.3-0.99c-0.2-0.3-0.47-0.47-0.79-0.51v-0.02c0.43-0.08,0.79-0.27,1.07-0.58c0.28-0.31,0.43-0.69,0.43-1.12c0-0.31-0.06-0.58-0.17-0.82c-0.11-0.24-0.26-0.43-0.44-0.58c-0.18-0.15-0.39-0.27-0.64-0.37c-0.25-0.1-0.5-0.16-0.75-0.2c-0.25-0.04-0.52-0.06-0.8-0.06c-0.92,0-1.68,0.22-2.28,0.67c-0.59,0.45-0.96,1.12-1.1,2.01h2.03c0.04-0.31,0.17-0.55,0.38-0.72c0.21-0.17,0.47-0.26,0.78-0.26c0.29,0,0.51,0.06,0.68,0.18S23,16.11,23,16.32c0,0.47-0.42,0.7-1.27,0.7h-0.47l-0.29,1.4h0.44c0.68,0,1.02,0.23,1.02,0.7c0,0.31-0.11,0.55-0.34,0.72c-0.23,0.17-0.5,0.25-0.83,0.25c-0.38,0-0.66-0.11-0.83-0.34c-0.17-0.21-0.24-0.51-0.21-0.89h-2.07C18.13,19.06,18.12,19.27,18.12,19.52z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort4 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.17,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.12-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.27,0.53s0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.57c-0.16,0-0.3,0.06-0.42,0.17C5.04,13.21,4.98,13.34,4.98,13.5zM4.98,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.57c-0.16,0-0.3,0.06-0.42,0.17C5.04,11.18,4.98,11.32,4.98,11.48zM17.98,20.35h3.57l-0.32,1.55h2.2l0.36-1.55h1.01l0.36-1.9h-1l0.9-4.34h-2.22l-4.43,4.16L17.98,20.35zM20.23,18.45l2.24-2.21h0.03l-0.49,2.21H20.23z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort5 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.97,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.18,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.13-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.28,0.53c0.49,0,0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.56c-0.16,0-0.3,0.06-0.42,0.17C5.03,13.21,4.97,13.34,4.97,13.5zM4.97,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51C18,9.09,17.94,9.23,17.94,9.38c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.56c-0.16,0-0.3,0.06-0.42,0.17C5.03,11.18,4.97,11.32,4.97,11.48zM18.04,19.38c-0.02,0.32,0.01,0.62,0.12,0.91c0.1,0.29,0.27,0.56,0.5,0.81c0.23,0.25,0.55,0.44,0.98,0.59c0.42,0.15,0.92,0.22,1.49,0.22c0.58,0,1.09-0.08,1.53-0.23s0.8-0.34,1.05-0.57c0.25-0.22,0.45-0.49,0.61-0.79c0.16-0.3,0.27-0.57,0.32-0.82c0.05-0.25,0.08-0.49,0.08-0.74c0-0.67-0.21-1.21-0.64-1.61s-0.98-0.61-1.65-0.61c-0.69,0-1.18,0.14-1.45,0.43h-0.02l0.35-1.02h3.45l0.39-1.88h-5.24l-1.45,4.46h2c0.16-0.34,0.53-0.51,1.11-0.51c0.32,0,0.58,0.08,0.77,0.25c0.19,0.17,0.29,0.41,0.29,0.75c0,0.34-0.12,0.61-0.35,0.82c-0.23,0.21-0.57,0.31-1,0.31c-0.31,0-0.56-0.06-0.73-0.17c-0.21-0.11-0.33-0.31-0.36-0.6H18.04z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort6 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.92,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.18,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.13-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.28,0.53c0.49,0,0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.51c-0.16,0-0.3,0.06-0.42,0.17C4.98,13.21,4.92,13.34,4.92,13.5zM4.92,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.51c-0.16,0-0.3,0.06-0.42,0.17C4.98,11.18,4.92,11.32,4.92,11.48zM18.33,18.72c0,0.96,0.25,1.73,0.75,2.31c0.5,0.58,1.26,0.87,2.29,0.87c0.95,0,1.73-0.29,2.35-0.87c0.62-0.58,0.92-1.34,0.92-2.28c0-0.64-0.22-1.17-0.67-1.57s-0.99-0.6-1.65-0.6c-0.73,0-1.3,0.25-1.72,0.75h-0.02c0.33-1.16,0.88-1.74,1.65-1.74c0.25,0,0.44,0.05,0.58,0.14c0.12,0.09,0.2,0.22,0.23,0.41h2.11c-0.01-0.31-0.08-0.59-0.19-0.84c-0.12-0.25-0.26-0.46-0.44-0.62s-0.39-0.3-0.63-0.4c-0.24-0.11-0.49-0.18-0.75-0.23c-0.26-0.04-0.52-0.07-0.8-0.07c-0.62,0-1.18,0.12-1.68,0.36s-0.88,0.54-1.17,0.89c-0.28,0.35-0.52,0.75-0.71,1.2c-0.19,0.45-0.31,0.86-0.38,1.23C18.36,18.04,18.33,18.39,18.33,18.72zM20.38,19.17c0-0.37,0.12-0.65,0.37-0.84c0.24-0.19,0.52-0.29,0.82-0.29c0.19,0,0.35,0.03,0.48,0.08s0.23,0.12,0.3,0.19c0.07,0.07,0.12,0.16,0.15,0.27c0.04,0.11,0.06,0.19,0.07,0.25c0.01,0.06,0.01,0.12,0.01,0.19c0,0.31-0.11,0.58-0.32,0.79s-0.5,0.32-0.85,0.32c-0.31,0-0.55-0.09-0.75-0.27C20.48,19.69,20.38,19.46,20.38,19.17z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort7 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.83,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.17,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.12-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.27,0.53s0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.42c-0.16,0-0.3,0.06-0.42,0.17C4.89,13.21,4.83,13.34,4.83,13.5zM4.83,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.42c-0.16,0-0.3,0.06-0.42,0.17C4.89,11.18,4.83,11.32,4.83,11.48zM18.85,21.9h2.47c0.26-1.29,0.73-2.45,1.39-3.47c0.67-1.02,1.39-1.84,2.16-2.44l0.38-1.87h-5.96l-0.41,1.89h3.49C20.39,18,19.22,19.96,18.85,21.9z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort8 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.99,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.18,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.13-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.28,0.53c0.49,0,0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.58c-0.16,0-0.3,0.06-0.42,0.17C5.05,13.21,4.99,13.34,4.99,13.5zM4.99,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.58c-0.16,0-0.3,0.06-0.42,0.17C5.05,11.18,4.99,11.32,4.99,11.48zM17.99,19.67c0,0.73,0.29,1.29,0.86,1.66c0.57,0.38,1.34,0.57,2.31,0.57c0.59,0,1.12-0.06,1.57-0.18c0.46-0.12,0.81-0.27,1.07-0.44s0.46-0.38,0.62-0.62c0.16-0.24,0.26-0.46,0.31-0.66c0.05-0.2,0.08-0.4,0.08-0.61c0-0.41-0.12-0.77-0.36-1.06c-0.24-0.3-0.55-0.49-0.94-0.57l0.02-0.03v0.01c0.45-0.06,0.82-0.26,1.12-0.6c0.29-0.33,0.44-0.73,0.44-1.19c0-0.38-0.09-0.71-0.26-0.98s-0.41-0.48-0.71-0.61c-0.3-0.14-0.61-0.24-0.92-0.3c-0.31-0.06-0.65-0.09-1.01-0.09c-0.48,0-0.9,0.05-1.28,0.14c-0.38,0.09-0.69,0.22-0.93,0.37c-0.24,0.15-0.43,0.33-0.59,0.53s-0.27,0.4-0.33,0.6c-0.06,0.2-0.09,0.41-0.09,0.62c0,0.34,0.09,0.64,0.27,0.9c0.18,0.26,0.43,0.43,0.75,0.53v0.03c-0.56,0.06-1.04,0.27-1.42,0.61C18.18,18.67,17.99,19.12,17.99,19.67zM20.1,19.44c0-0.35,0.14-0.61,0.42-0.77s0.62-0.24,1.01-0.24c0.41,0,0.7,0.09,0.89,0.28c0.18,0.18,0.28,0.38,0.28,0.6v0.13c0,0.28-0.13,0.49-0.38,0.64c-0.25,0.14-0.58,0.22-0.97,0.22l0.03-0.01c-0.14,0-0.27-0.01-0.4-0.03s-0.27-0.06-0.41-0.11c-0.14-0.06-0.25-0.14-0.34-0.26C20.15,19.76,20.1,19.61,20.1,19.44zM20.86,16.37c0-0.32,0.12-0.55,0.37-0.69s0.55-0.22,0.9-0.22c0.3,0,0.55,0.07,0.76,0.2s0.31,0.35,0.31,0.63c0,0.07-0.02,0.15-0.05,0.23c-0.03,0.08-0.09,0.17-0.17,0.27c-0.08,0.1-0.21,0.18-0.39,0.24c-0.18,0.06-0.4,0.09-0.66,0.09c-0.4,0-0.68-0.08-0.84-0.23C20.94,16.75,20.86,16.57,20.86,16.37z\"}}]})(props);\r\n}\r\nexport const WiWindBeaufort9 = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.09,13.5c0,0.18,0.06,0.31,0.17,0.4c0.12,0.11,0.26,0.17,0.42,0.17h10.4c0.18,0,0.33,0.06,0.46,0.19c0.13,0.12,0.2,0.28,0.2,0.46s-0.07,0.34-0.2,0.47s-0.28,0.2-0.46,0.2c-0.18,0-0.34-0.07-0.47-0.21c-0.13-0.11-0.26-0.16-0.4-0.16c-0.16,0-0.3,0.05-0.41,0.16c-0.11,0.11-0.16,0.24-0.16,0.39c0,0.16,0.06,0.3,0.17,0.41c0.36,0.36,0.78,0.53,1.27,0.53c0.49,0,0.91-0.17,1.26-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.92-0.52-1.27c-0.35-0.35-0.77-0.53-1.26-0.53H5.68c-0.16,0-0.3,0.06-0.42,0.17C5.14,13.21,5.09,13.34,5.09,13.5zM5.09,11.48c0,0.17,0.06,0.3,0.17,0.39c0.12,0.11,0.26,0.16,0.42,0.16h13.81c0.49,0,0.92-0.18,1.27-0.52c0.35-0.35,0.52-0.77,0.52-1.27c0-0.49-0.17-0.91-0.52-1.26s-0.77-0.52-1.27-0.52c-0.49,0-0.91,0.17-1.27,0.51c-0.11,0.12-0.16,0.27-0.16,0.42c0,0.16,0.05,0.3,0.16,0.4c0.11,0.1,0.24,0.15,0.4,0.15c0.15,0,0.29-0.05,0.41-0.16c0.12-0.12,0.27-0.18,0.45-0.18c0.17,0,0.33,0.06,0.46,0.18c0.13,0.12,0.2,0.27,0.2,0.45c0,0.18-0.07,0.34-0.2,0.47c-0.13,0.13-0.28,0.2-0.46,0.2H5.68c-0.16,0-0.3,0.06-0.42,0.17C5.14,11.18,5.09,11.32,5.09,11.48zM18.18,19.76c0.02,0.39,0.11,0.73,0.28,1.02c0.17,0.29,0.39,0.51,0.67,0.67c0.28,0.16,0.58,0.27,0.9,0.34s0.67,0.11,1.04,0.11c0.57,0,1.09-0.11,1.55-0.32c0.47-0.21,0.84-0.48,1.13-0.81c0.29-0.33,0.53-0.7,0.73-1.13s0.33-0.84,0.41-1.23s0.12-0.78,0.12-1.15c0-1.06-0.27-1.87-0.81-2.43c-0.54-0.57-1.26-0.85-2.17-0.85c-0.93,0-1.72,0.28-2.36,0.85c-0.64,0.57-0.97,1.32-0.97,2.24c0,0.66,0.21,1.2,0.63,1.62c0.42,0.42,0.96,0.63,1.63,0.63c0.36,0,0.7-0.07,1.05-0.22c0.34-0.14,0.58-0.33,0.72-0.54h0.03c-0.12,0.48-0.31,0.88-0.58,1.22c-0.27,0.34-0.62,0.51-1.06,0.51c-0.29,0-0.48-0.03-0.59-0.1c-0.12-0.11-0.21-0.25-0.24-0.42H18.18zM20.75,16.88c0-0.31,0.1-0.58,0.29-0.81c0.19-0.23,0.48-0.34,0.86-0.34c0.34,0,0.6,0.09,0.77,0.26c0.18,0.17,0.27,0.43,0.27,0.76c0,0.09-0.02,0.2-0.06,0.31s-0.1,0.23-0.18,0.36c-0.08,0.12-0.2,0.23-0.37,0.31s-0.35,0.12-0.56,0.12s-0.39-0.04-0.54-0.11c-0.15-0.07-0.25-0.17-0.32-0.29c-0.07-0.12-0.11-0.22-0.14-0.31S20.75,16.96,20.75,16.88z\"}}]})(props);\r\n}\r\nexport const WiWindDeg = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.74,14.5c0-2.04,0.51-3.93,1.52-5.66s2.38-3.1,4.11-4.11s3.61-1.51,5.64-1.51c1.52,0,2.98,0.3,4.37,0.89s2.58,1.4,3.59,2.4s1.81,2.2,2.4,3.6s0.89,2.85,0.89,4.39c0,1.52-0.3,2.98-0.89,4.37s-1.4,2.59-2.4,3.59s-2.2,1.8-3.59,2.39s-2.84,0.89-4.37,0.89c-1.53,0-3-0.3-4.39-0.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58S3.74,16.03,3.74,14.5zM6.22,14.5c0,2.37,0.86,4.43,2.59,6.18c1.73,1.73,3.79,2.59,6.2,2.59c1.58,0,3.05-0.39,4.39-1.18s2.42-1.85,3.21-3.2s1.19-2.81,1.19-4.39s-0.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05,0.39-4.39,1.18S8.2,8.75,7.4,10.1S6.22,12.92,6.22,14.5zM11.11,20.35l3.75-13.11c0.01-0.1,0.06-0.15,0.15-0.15s0.14,0.05,0.15,0.15l3.74,13.11c0.04,0.11,0.03,0.19-0.02,0.25s-0.13,0.06-0.24,0l-3.47-1.3c-0.1-0.04-0.2-0.04-0.29,0l-3.5,1.3c-0.1,0.06-0.17,0.06-0.21,0S11.09,20.45,11.11,20.35z\"}}]})(props);\r\n}\r\nexport const WiWindy = function (props) {\r\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 30 30\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.65,15.5c0-0.22,0.08-0.41,0.23-0.56c0.16-0.15,0.35-0.22,0.57-0.22h12.08c0.22,0,0.4,0.07,0.54,0.22c0.14,0.15,0.22,0.34,0.22,0.57c0,0.22-0.07,0.4-0.22,0.54c-0.14,0.14-0.32,0.22-0.54,0.22H5.45c-0.22,0-0.42-0.07-0.57-0.22C4.72,15.9,4.65,15.72,4.65,15.5zM7.06,12.6c0-0.22,0.08-0.4,0.23-0.55c0.15-0.15,0.34-0.23,0.56-0.23h12.09c0.21,0,0.39,0.08,0.54,0.23c0.15,0.15,0.22,0.33,0.22,0.55c0,0.22-0.07,0.4-0.22,0.56c-0.15,0.15-0.33,0.23-0.54,0.23H7.86c-0.22,0-0.41-0.08-0.56-0.23S7.06,12.82,7.06,12.6zM8.68,18.34c0-0.21,0.08-0.39,0.24-0.54c0.14-0.14,0.32-0.22,0.54-0.22h12.1c0.22,0,0.41,0.07,0.56,0.22c0.15,0.14,0.22,0.32,0.22,0.54s-0.08,0.41-0.23,0.56s-0.34,0.23-0.56,0.23H9.46c-0.22,0-0.4-0.08-0.56-0.23S8.68,18.56,8.68,18.34zM19.26,15.5c0-0.23,0.07-0.42,0.22-0.57c0.15-0.15,0.34-0.22,0.57-0.22h4.52c0.23,0,0.42,0.07,0.57,0.22c0.15,0.15,0.22,0.34,0.22,0.56c0,0.22-0.07,0.4-0.22,0.54c-0.15,0.14-0.34,0.22-0.56,0.22h-4.52c-0.23,0-0.42-0.07-0.57-0.22C19.33,15.9,19.26,15.72,19.26,15.5z\"}}]})(props);\r\n}\r\n","\"use strict\";\r\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar iconContext_1 = require(\"./iconContext\");\r\nfunction Tree2Element(tree) {\r\n return tree && tree.map(function (node, i) { return React.createElement(node.tag, __assign({ key: i }, node.attr), Tree2Element(node.child)); });\r\n}\r\nfunction GenIcon(data) {\r\n return function (props) { return (React.createElement(IconBase, __assign({ attr: __assign({}, data.attr) }, props), Tree2Element(data.child))); };\r\n}\r\nexports.GenIcon = GenIcon;\r\nfunction IconBase(props) {\r\n var elem = function (conf) {\r\n var computedSize = props.size || conf.size || \"1em\";\r\n var className;\r\n if (conf.className)\r\n className = conf.className;\r\n if (props.className)\r\n className = (className + ' ' || '') + props.className;\r\n return (React.createElement(\"svg\", __assign({ stroke: \"currentColor\", fill: \"currentColor\", strokeWidth: \"0\" }, conf.attr, props.attr, props, { className: className, style: __assign({ color: props.color || conf.color }, conf.style, props.style), height: computedSize, width: computedSize }), props.children));\r\n };\r\n return iconContext_1.IconContext !== undefined\r\n ? React.createElement(iconContext_1.IconContext.Consumer, null, function (conf) { return elem(conf); })\r\n : elem(iconContext_1.DefaultContext);\r\n}\r\nexports.IconBase = IconBase;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nexports.DefaultContext = {\r\n color: undefined,\r\n size: undefined,\r\n className: undefined,\r\n style: undefined,\r\n attr: undefined,\r\n};\r\nexports.IconContext = React.createContext && React.createContext(exports.DefaultContext);\r\n","// extracted by mini-css-extract-plugin\nexport default {};","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.3\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount) {\n const _date = toDate(date);\n if (isNaN(amount)) return constructFrom(date, NaN);\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday(\n * date: DateType | number | string,\n * ): boolean {\n * // If we were to use `new Date()` directly, the function would behave\n * // differently in different timezones and return false for the same date.\n * return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { formatDistance } from \"./formatDistance.mjs\";\n\n/**\n * The {@link formatDistanceToNow} function options.\n */\n\n/**\n * @name formatDistanceToNow\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now | Result |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - The object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * const result = formatDistanceToNow(\n * new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * const result = formatDistanceToNow(\n * new Date(2015, 0, 1, 0, 0, 15),\n * {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * const result = formatDistanceToNow(\n * new Date(2016, 0, 1),\n * {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * const eoLocale = require('date-fns/locale/eo')\n * const result = formatDistanceToNow(\n * new Date(2016, 7, 1),\n * {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nexport function formatDistanceToNow(date, options) {\n return formatDistance(date, constructNow(date), options);\n}\n\n// Fallback for modularized imports:\nexport default formatDistanceToNow;\n","import { getDefaultOptions as getInternalDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * @name getDefaultOptions\n * @category Common Helpers\n * @summary Get default options.\n * @pure false\n *\n * @description\n * Returns an object that contains defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * You can change these with [setDefaultOptions](https://date-fns.org/docs/setDefaultOptions).\n *\n * @returns The default options\n *\n * @example\n * const result = getDefaultOptions()\n * //=> {}\n *\n * @example\n * setDefaultOptions({ weekStarsOn: 1, firstWeekContainsDate: 4 })\n * const result = getDefaultOptions()\n * //=> { weekStarsOn: 1, firstWeekContainsDate: 4 }\n */\nexport function getDefaultOptions() {\n return Object.assign({}, getInternalDefaultOptions());\n}\n\n// Fallback for modularized imports:\nexport default getDefaultOptions;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name transpose\n * @category Generic Helpers\n * @summary Transpose the date to the given constructor.\n *\n * @description\n * The function transposes the date to the given constructor. It helps you\n * to transpose the date in the system time zone to say `UTCDate` or any other\n * date extension.\n *\n * @typeParam DateInputType - The input `Date` type derived from the passed argument.\n * @typeParam DateOutputType - The output `Date` type derived from the passed constructor.\n *\n * @param fromDate - The date to use values from\n * @param constructor - The date constructor to use\n *\n * @returns Date transposed to the given constructor\n *\n * @example\n * // Create July 10, 2022 00:00 in locale time zone\n * const date = new Date(2022, 6, 10)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0800 (Singapore Standard Time)'\n *\n * @example\n * // Transpose the date to July 10, 2022 00:00 in UTC\n * transpose(date, UTCDate)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0000 (Coordinated Universal Time)'\n */\nexport function transpose(fromDate, constructor) {\n const date =\n constructor instanceof Date\n ? constructFrom(constructor, 0)\n : new constructor(0);\n date.setFullYear(\n fromDate.getFullYear(),\n fromDate.getMonth(),\n fromDate.getDate(),\n );\n date.setHours(\n fromDate.getHours(),\n fromDate.getMinutes(),\n fromDate.getSeconds(),\n fromDate.getMilliseconds(),\n );\n return date;\n}\n\n// Fallback for modularized imports:\nexport default transpose;\n","import { transpose } from \"../../transpose.mjs\";\nimport { constructFrom } from \"../../constructFrom.mjs\";\n\nconst TIMEZONE_UNIT_PRIORITY = 10;\n\nexport class Setter {\n subPriority = 0;\n\n validate(_utcDate, _options) {\n return true;\n }\n}\n\nexport class ValueSetter extends Setter {\n constructor(\n value,\n\n validateValue,\n\n setValue,\n\n priority,\n subPriority,\n ) {\n super();\n this.value = value;\n this.validateValue = validateValue;\n this.setValue = setValue;\n this.priority = priority;\n if (subPriority) {\n this.subPriority = subPriority;\n }\n }\n\n validate(date, options) {\n return this.validateValue(date, this.value, options);\n }\n\n set(date, flags, options) {\n return this.setValue(date, flags, this.value, options);\n }\n}\n\nexport class DateToSystemTimezoneSetter extends Setter {\n priority = TIMEZONE_UNIT_PRIORITY;\n subPriority = -1;\n set(date, flags) {\n if (flags.timestampIsSet) return date;\n return constructFrom(date, transpose(date, Date));\n }\n}\n","import { ValueSetter } from \"./Setter.mjs\";\n\nexport class Parser {\n run(dateString, token, match, options) {\n const result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n\n return {\n setter: new ValueSetter(\n result.value,\n this.validate,\n this.set,\n this.priority,\n this.subPriority,\n ),\n rest: result.rest,\n };\n }\n\n validate(_utcDate, _value, _options) {\n return true;\n }\n}\n","export const numericPatterns = {\n month: /^(1[0-2]|0?\\d)/, // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/, // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/, // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/, // 0 to 12\n minute: /^[0-5]?\\d/, // 0 to 59\n second: /^[0-5]?\\d/, // 0 to 59\n\n singleDigit: /^\\d/, // 0 to 9\n twoDigits: /^\\d{1,2}/, // 0 to 99\n threeDigits: /^\\d{1,3}/, // 0 to 999\n fourDigits: /^\\d{1,4}/, // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/, // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/, // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/, // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/, // 0 to 9999, -0 to -9999\n};\n\nexport const timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/,\n};\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n millisecondsInSecond,\n} from \"../../constants.mjs\";\nimport { numericPatterns } from \"./constants.mjs\";\n\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest,\n };\n}\n\nexport function parseNumericPattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseTimezonePattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === \"Z\") {\n return {\n value: 0,\n rest: dateString.slice(1),\n };\n }\n\n const sign = matchResult[1] === \"+\" ? 1 : -1;\n const hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n const minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n const seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n\n return {\n value:\n sign *\n (hours * millisecondsInHour +\n minutes * millisecondsInMinute +\n seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\n\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^-?\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case \"morning\":\n return 4;\n case \"evening\":\n return 17;\n case \"pm\":\n case \"noon\":\n case \"afternoon\":\n return 12;\n case \"am\":\n case \"midnight\":\n case \"night\":\n default:\n return 0;\n }\n}\n\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n const isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n const absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n\n let result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n const rangeEnd = absCurrentYear + 50;\n const rangeEndCentury = Math.trunc(rangeEnd / 100) * 100;\n const isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n","import { getWeek } from \"./getWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link setWeek} function options.\n */\n\n/**\n * @name setWeek\n * @category Week Helpers\n * @summary Set the local week to the given date.\n *\n * @description\n * Set the local week to the given date, saving the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param week - The week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the local week set\n *\n * @example\n * // Set the 1st week to 2 January 2005 with default options:\n * const result = setWeek(new Date(2005, 0, 2), 1)\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // Set the 1st week to 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January:\n * const result = setWeek(new Date(2005, 0, 2), 1, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sun Jan 4 2004 00:00:00\n */\nexport function setWeek(date, week, options) {\n const _date = toDate(date);\n const diff = getWeek(_date, options) - week;\n _date.setDate(_date.getDate() - diff * 7);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setWeek;\n","import { getISOWeek } from \"./getISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setISOWeek\n * @category ISO Week Helpers\n * @summary Set the ISO week to the given date.\n *\n * @description\n * Set the ISO week to the given date, saving the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param week - The ISO week of the new date\n *\n * @returns The new date with the ISO week set\n *\n * @example\n * // Set the 53rd ISO week to 7 August 2004:\n * const result = setISOWeek(new Date(2004, 7, 7), 53)\n * //=> Sat Jan 01 2005 00:00:00\n */\nexport function setISOWeek(date, week) {\n const _date = toDate(date);\n const diff = getISOWeek(_date) - week;\n _date.setDate(_date.getDate() - diff * 7);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setISOWeek;\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.mjs\";\n\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [\n 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,\n];\n\n// Day of the month\nexport class DateParser extends Parser {\n priority = 90;\n subPriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"d\":\n return parseNumericPattern(numericPatterns.date, dateString);\n case \"do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n const month = date.getMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n\n set(date, _flags, value) {\n date.setDate(value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { addDays } from \"./addDays.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link setDay} function options.\n */\n\n/**\n * @name setDay\n * @category Weekday Helpers\n * @summary Set the day of the week to the given date.\n *\n * @description\n * Set the day of the week to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param day - The day of the week of the new date\n * @param options - An object with options.\n *\n * @returns The new date with the day of the week set\n *\n * @example\n * // Set week day to Sunday, with the default weekStartsOn of Sunday:\n * const result = setDay(new Date(2014, 8, 1), 0)\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Set week day to Sunday, with a weekStartsOn of Monday:\n * const result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setDay(date, day, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date);\n const currentDay = _date.getDay();\n\n const remainder = day % 7;\n const dayIndex = (remainder + 7) % 7;\n\n const delta = 7 - weekStartsOn;\n const diff =\n day < 0 || day > 6\n ? day - ((currentDay + delta) % 7)\n : ((dayIndex + delta) % 7) - ((currentDay + delta) % 7);\n return addDays(_date, diff);\n}\n\n// Fallback for modularized imports:\nexport default setDay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISODay\n * @category Weekday Helpers\n * @summary Get the day of the ISO week of the given date.\n *\n * @description\n * Get the day of the ISO week of the given date,\n * which is 7 for Sunday, 1 for Monday etc.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of ISO week\n *\n * @example\n * // Which day of the ISO week is 26 February 2012?\n * const result = getISODay(new Date(2012, 1, 26))\n * //=> 7\n */\nexport function getISODay(date) {\n const _date = toDate(date);\n let day = _date.getDay();\n\n if (day === 0) {\n day = 7;\n }\n\n return day;\n}\n\n// Fallback for modularized imports:\nexport default getISODay;\n","import { addDays } from \"./addDays.mjs\";\nimport { getISODay } from \"./getISODay.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setISODay\n * @category Weekday Helpers\n * @summary Set the day of the ISO week to the given date.\n *\n * @description\n * Set the day of the ISO week to the given date.\n * ISO week starts with Monday.\n * 7 is the index of Sunday, 1 is the index of Monday etc.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param day - The day of the ISO week of the new date\n *\n * @returns The new date with the day of the ISO week set\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * const result = setISODay(new Date(2014, 8, 1), 7)\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setISODay(date, day) {\n const _date = toDate(date);\n const currentDay = getISODay(_date);\n const diff = day - currentDay;\n return addDays(_date, diff);\n}\n\n// Fallback for modularized imports:\nexport default setISODay;\n","import { EraParser } from \"./parsers/EraParser.mjs\";\nimport { YearParser } from \"./parsers/YearParser.mjs\";\nimport { LocalWeekYearParser } from \"./parsers/LocalWeekYearParser.mjs\";\nimport { ISOWeekYearParser } from \"./parsers/ISOWeekYearParser.mjs\";\nimport { ExtendedYearParser } from \"./parsers/ExtendedYearParser.mjs\";\nimport { QuarterParser } from \"./parsers/QuarterParser.mjs\";\nimport { StandAloneQuarterParser } from \"./parsers/StandAloneQuarterParser.mjs\";\nimport { MonthParser } from \"./parsers/MonthParser.mjs\";\nimport { StandAloneMonthParser } from \"./parsers/StandAloneMonthParser.mjs\";\nimport { LocalWeekParser } from \"./parsers/LocalWeekParser.mjs\";\nimport { ISOWeekParser } from \"./parsers/ISOWeekParser.mjs\";\nimport { DateParser } from \"./parsers/DateParser.mjs\";\nimport { DayOfYearParser } from \"./parsers/DayOfYearParser.mjs\";\nimport { DayParser } from \"./parsers/DayParser.mjs\";\nimport { LocalDayParser } from \"./parsers/LocalDayParser.mjs\";\nimport { StandAloneLocalDayParser } from \"./parsers/StandAloneLocalDayParser.mjs\";\nimport { ISODayParser } from \"./parsers/ISODayParser.mjs\";\nimport { AMPMParser } from \"./parsers/AMPMParser.mjs\";\nimport { AMPMMidnightParser } from \"./parsers/AMPMMidnightParser.mjs\";\nimport { DayPeriodParser } from \"./parsers/DayPeriodParser.mjs\";\nimport { Hour1to12Parser } from \"./parsers/Hour1to12Parser.mjs\";\nimport { Hour0to23Parser } from \"./parsers/Hour0to23Parser.mjs\";\nimport { Hour0To11Parser } from \"./parsers/Hour0To11Parser.mjs\";\nimport { Hour1To24Parser } from \"./parsers/Hour1To24Parser.mjs\";\nimport { MinuteParser } from \"./parsers/MinuteParser.mjs\";\nimport { SecondParser } from \"./parsers/SecondParser.mjs\";\nimport { FractionOfSecondParser } from \"./parsers/FractionOfSecondParser.mjs\";\nimport { ISOTimezoneWithZParser } from \"./parsers/ISOTimezoneWithZParser.mjs\";\nimport { ISOTimezoneParser } from \"./parsers/ISOTimezoneParser.mjs\";\nimport { TimestampSecondsParser } from \"./parsers/TimestampSecondsParser.mjs\";\nimport { TimestampMillisecondsParser } from \"./parsers/TimestampMillisecondsParser.mjs\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- It's ok, we want any here\nexport const parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser(),\n};\n","import { Parser } from \"../Parser.mjs\";\n\nexport class EraParser extends Parser {\n priority = 140;\n\n parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return (\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n\n // A, B\n case \"GGGGG\":\n return match.era(dateString, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return (\n match.era(dateString, { width: \"wide\" }) ||\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n }\n }\n\n set(date, flags, value) {\n flags.era = value;\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"R\", \"u\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.mjs\";\n\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport class YearParser extends Parser {\n priority = 130;\n incompatibleTokens = [\"Y\", \"R\", \"u\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"yy\",\n });\n\n switch (token) {\n case \"y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value) {\n const currentYear = date.getFullYear();\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(normalizedTwoDigitYear, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { getWeekYear } from \"../../../getWeekYear.mjs\";\nimport { startOfWeek } from \"../../../startOfWeek.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.mjs\";\n\n// Local week-numbering year\nexport class LocalWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"YY\",\n });\n\n switch (token) {\n case \"Y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"Yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value, options) {\n const currentYear = getWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(\n normalizedTwoDigitYear,\n 0,\n options.firstWeekContainsDate,\n );\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, options.firstWeekContainsDate);\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { startOfISOWeek } from \"../../../startOfISOWeek.mjs\";\nimport { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigitsSigned } from \"../utils.mjs\";\n\n// ISO week-numbering year\nexport class ISOWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"R\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n const firstWeekOfYear = constructFrom(date, 0);\n firstWeekOfYear.setFullYear(value, 0, 4);\n firstWeekOfYear.setHours(0, 0, 0, 0);\n return startOfISOWeek(firstWeekOfYear);\n }\n\n incompatibleTokens = [\n \"G\",\n \"y\",\n \"Y\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigitsSigned } from \"../utils.mjs\";\n\nexport class ExtendedYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"u\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"G\", \"y\", \"Y\", \"R\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigits } from \"../utils.mjs\";\n\nexport class QuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n case \"QQ\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigits } from \"../utils.mjs\";\n\nexport class StandAloneQuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n case \"qq\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class MonthParser extends Parser {\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"L\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"M\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"MM\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // J, F, ..., D\n case \"MMMMM\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class StandAloneMonthParser extends Parser {\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"LL\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // J, F, ..., D\n case \"LLLLL\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setWeek } from \"../../../setWeek.mjs\";\nimport { startOfWeek } from \"../../../startOfWeek.mjs\";\nimport { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\n// Local week of year\nexport class LocalWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"w\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"wo\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value, options) {\n return startOfWeek(setWeek(date, value, options), options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { setISOWeek } from \"../../../setISOWeek.mjs\";\nimport { startOfISOWeek } from \"../../../startOfISOWeek.mjs\";\nimport { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\n// ISO week of year\nexport class ISOWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"I\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"Io\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value) {\n return startOfISOWeek(setISOWeek(date, value));\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.mjs\";\n\nexport class DayOfYearParser extends Parser {\n priority = 90;\n\n subpriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"D\":\n case \"DD\":\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case \"Do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n\n set(date, _flags, value) {\n date.setMonth(0, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"E\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\n\n// Day of week\nexport class DayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"EEEEE\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"EEEE\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"D\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// Local day of week\nexport class LocalDayParser extends Parser {\n priority = 90;\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"e\":\n case \"ee\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"eo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"eee\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"eeeee\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"eeee\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// Stand-alone local day of week\nexport class StandAloneLocalDayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"c\":\n case \"cc\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"co\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"ccc\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // T\n case \"ccccc\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return (\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // Tuesday\n case \"cccc\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"e\",\n \"t\",\n \"T\",\n ];\n}\n","import { setISODay } from \"../../../setISODay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// ISO day of week\nexport class ISODayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n\n switch (token) {\n // 2\n case \"i\":\n case \"ii\": // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case \"io\":\n return match.ordinalNumber(dateString, { unit: \"day\" });\n // Tue\n case \"iii\":\n return mapValue(\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // T\n case \"iiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tu\n case \"iiiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tuesday\n case \"iiii\":\n default:\n return mapValue(\n match.day(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n\n set(date, _flags, value) {\n date = setISODay(date, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"E\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\nexport class AMPMParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"aaaaa\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"b\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\nexport class AMPMMidnightParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"b\":\n case \"bb\":\n case \"bbb\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"bbbbb\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\n// in the morning, in the afternoon, in the evening, at night\nexport class DayPeriodParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"BBBBB\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour1to12Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"h\":\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case \"ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setHours(0, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"H\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour0to23Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"H\":\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case \"Ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n\n set(date, _flags, value) {\n date.setHours(value, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour0To11Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"K\":\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case \"Ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"h\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour1To24Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"k\":\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case \"ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n\n set(date, _flags, value) {\n const hours = value <= 24 ? value % 24 : value;\n date.setHours(hours, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"H\", \"K\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class MinuteParser extends Parser {\n priority = 60;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"m\":\n return parseNumericPattern(numericPatterns.minute, dateString);\n case \"mo\":\n return match.ordinalNumber(dateString, { unit: \"minute\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setMinutes(value, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class SecondParser extends Parser {\n priority = 50;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"s\":\n return parseNumericPattern(numericPatterns.second, dateString);\n case \"so\":\n return match.ordinalNumber(dateString, { unit: \"second\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setSeconds(value, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\nexport class FractionOfSecondParser extends Parser {\n priority = 30;\n\n parse(dateString, token) {\n const valueCallback = (value) =>\n Math.trunc(value * Math.pow(10, -token.length + 3));\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n\n set(date, _flags, value) {\n date.setMilliseconds(value);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.mjs\";\nimport { timezonePatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseTimezonePattern } from \"../utils.mjs\";\n\n// Timezone (ISO-8601. +00:00 is `'Z'`)\nexport class ISOTimezoneWithZParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"X\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"XX\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"XXXX\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"XXXXX\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"XXX\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"x\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.mjs\";\nimport { timezonePatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseTimezonePattern } from \"../utils.mjs\";\n\n// Timezone (ISO-8601)\nexport class ISOTimezoneParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"x\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"xx\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"xxxx\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"xxxxx\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"xxx\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"X\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseAnyDigitsSigned } from \"../utils.mjs\";\n\nexport class TimestampSecondsParser extends Parser {\n priority = 40;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value * 1000), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseAnyDigitsSigned } from \"../utils.mjs\";\n\nexport class TimestampMillisecondsParser extends Parser {\n priority = 20;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getDefaultOptions } from \"./getDefaultOptions.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { parsers } from \"./parse/_lib/parsers.mjs\";\nimport { DateToSystemTimezoneSetter } from \"./parse/_lib/Setter.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { longFormatters, parsers };\n\n/**\n * The {@link parse} function options.\n */\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\n\nconst notWhitespaceRegExp = /\\S/;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear)\n * and [setWeekYear](https://date-fns.org/docs/setWeekYear)).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateStr - The string to parse\n * @param formatStr - The string of tokens\n * @param referenceDate - defines values missing from the parsed dateString\n * @param options - An object with options.\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @returns The parsed date\n *\n * @throws `options.locale` must contain `match` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport function parse(dateStr, formatStr, referenceDate, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n if (formatStr === \"\") {\n if (dateStr === \"\") {\n return toDate(referenceDate);\n } else {\n return constructFrom(referenceDate, NaN);\n }\n }\n\n const subFnOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n const setters = [new DateToSystemTimezoneSetter()];\n\n const tokens = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp);\n\n const usedTokens = [];\n\n for (let token of tokens) {\n if (\n !options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n if (\n !options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n\n const firstCharacter = token[0];\n const parser = parsers[firstCharacter];\n if (parser) {\n const { incompatibleTokens } = parser;\n if (Array.isArray(incompatibleTokens)) {\n const incompatibleToken = usedTokens.find(\n (usedToken) =>\n incompatibleTokens.includes(usedToken.token) ||\n usedToken.token === firstCharacter,\n );\n if (incompatibleToken) {\n throw new RangeError(\n `The format string mustn't contain \\`${incompatibleToken.fullToken}\\` and \\`${token}\\` at the same time`,\n );\n }\n } else if (parser.incompatibleTokens === \"*\" && usedTokens.length > 0) {\n throw new RangeError(\n `The format string mustn't contain \\`${token}\\` and any other token at the same time`,\n );\n }\n\n usedTokens.push({ token: firstCharacter, fullToken: token });\n\n const parseResult = parser.run(\n dateStr,\n token,\n locale.match,\n subFnOptions,\n );\n\n if (!parseResult) {\n return constructFrom(referenceDate, NaN);\n }\n\n setters.push(parseResult.setter);\n\n dateStr = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateStr.indexOf(token) === 0) {\n dateStr = dateStr.slice(token.length);\n } else {\n return constructFrom(referenceDate, NaN);\n }\n }\n }\n\n // Check if the remaining input contains something other than whitespace\n if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) {\n return constructFrom(referenceDate, NaN);\n }\n\n const uniquePrioritySetters = setters\n .map((setter) => setter.priority)\n .sort((a, b) => b - a)\n .filter((priority, index, array) => array.indexOf(priority) === index)\n .map((priority) =>\n setters\n .filter((setter) => setter.priority === priority)\n .sort((a, b) => b.subPriority - a.subPriority),\n )\n .map((setterArray) => setterArray[0]);\n\n let date = toDate(referenceDate);\n\n if (isNaN(date.getTime())) {\n return constructFrom(referenceDate, NaN);\n }\n\n const flags = {};\n for (const setter of uniquePrioritySetters) {\n if (!setter.validate(date, subFnOptions)) {\n return constructFrom(referenceDate, NaN);\n }\n\n const result = setter.set(date, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n date = result[0];\n Object.assign(flags, result[1]);\n // Result is date\n } else {\n date = result;\n }\n }\n\n return constructFrom(referenceDate, date);\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default parse;\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import*as e from\"react\";var t={694:(e,t,n)=>{var i=n(925);function r(){}function a(){}a.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,a,o){if(o!==i){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return n.PropTypes=n,n}},556:(e,t,n)=>{e.exports=n(694)()},925:e=>{e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},115:e=>{var t=\"undefined\"!=typeof Element,n=\"function\"==typeof Map,i=\"function\"==typeof Set,r=\"function\"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,o){if(e===o)return!0;if(e&&o&&\"object\"==typeof e&&\"object\"==typeof o){if(e.constructor!==o.constructor)return!1;var s,l,u,c;if(Array.isArray(e)){if((s=e.length)!=o.length)return!1;for(l=s;0!=l--;)if(!a(e[l],o[l]))return!1;return!0}if(n&&e instanceof Map&&o instanceof Map){if(e.size!==o.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!o.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!a(l.value[1],o.get(l.value[0])))return!1;return!0}if(i&&e instanceof Set&&o instanceof Set){if(e.size!==o.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!o.has(l.value[0]))return!1;return!0}if(r&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(o)){if((s=e.length)!=o.length)return!1;for(l=s;0!=l--;)if(e[l]!==o[l])return!1;return!0}if(e.constructor===RegExp)return e.source===o.source&&e.flags===o.flags;if(e.valueOf!==Object.prototype.valueOf&&\"function\"==typeof e.valueOf&&\"function\"==typeof o.valueOf)return e.valueOf()===o.valueOf();if(e.toString!==Object.prototype.toString&&\"function\"==typeof e.toString&&\"function\"==typeof o.toString)return e.toString()===o.toString();if((s=(u=Object.keys(e)).length)!==Object.keys(o).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(o,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if((\"_owner\"!==u[l]&&\"__v\"!==u[l]&&\"__o\"!==u[l]||!e.$$typeof)&&!a(e[u[l]],o[u[l]]))return!1;return!0}return e!=e&&o!=o}e.exports=function(e,t){try{return a(e,t)}catch(e){if((e.message||\"\").match(/stack|recursion/i))return console.warn(\"react-fast-compare cannot handle circular refs\"),!1;throw e}}}},n={};function i(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};function a(e){var t,n,i=\"\";if(\"string\"==typeof e||\"number\"==typeof e)i+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var r=e.length;for(t=0;tut});const o=function(){for(var e,t,n=0,i=\"\",r=arguments.length;ne.default,useMemo:()=>e.useMemo,useRef:()=>e.useRef},u={},i.d(u,l),u);var l,u;const c=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)},h=\"object\"==typeof global&&global&&global.Object===Object&&global;var d=\"object\"==typeof self&&self&&self.Object===Object&&self;const f=h||d||Function(\"return this\")(),p=function(){return f.Date.now()};var m=/\\s/;var b=/^\\s+/;const g=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&m.test(e.charAt(t)););return t}(e)+1).replace(b,\"\"):e},v=f.Symbol;var y=Object.prototype,w=y.hasOwnProperty,S=y.toString,T=v?v.toStringTag:void 0;var O=Object.prototype.toString;var E=v?v.toStringTag:void 0;const k=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":E&&E in Object(e)?function(e){var t=w.call(e,T),n=e[T];try{e[T]=void 0;var i=!0}catch(e){}var r=S.call(e);return i&&(t?e[T]=n:delete e[T]),r}(e):function(e){return O.call(e)}(e)};var I=/^[-+]0x[0-9a-f]+$/i,x=/^0b[01]+$/i,P=/^0o[0-7]+$/i,j=parseInt;const _=function(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==k(e)}(e))return NaN;if(c(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=c(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=g(e);var n=x.test(e);return n||P.test(e)?j(e.slice(2),n?2:8):I.test(e)?NaN:+e};var R=Math.max,L=Math.min;const M=function(e,t,n){var i,r,a,o,s,l,u=0,h=!1,d=!1,f=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function m(t){var n=i,a=r;return i=r=void 0,u=t,o=e.apply(a,n)}function b(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-u>=a}function g(){var e=p();if(b(e))return v(e);s=setTimeout(g,function(e){var n=t-(e-l);return d?L(n,a-(e-u)):n}(e))}function v(e){return s=void 0,f&&i?m(e):(i=r=void 0,o)}function y(){var e=p(),n=b(e);if(i=arguments,r=this,l=e,n){if(void 0===s)return function(e){return u=e,s=setTimeout(g,t),h?m(e):o}(l);if(d)return clearTimeout(s),s=setTimeout(g,t),m(l)}return void 0===s&&(s=setTimeout(g,t)),o}return t=_(t)||0,c(n)&&(h=!!n.leading,a=(d=\"maxWait\"in n)?R(_(n.maxWait)||0,t):a,f=\"trailing\"in n?!!n.trailing:f),y.cancel=function(){void 0!==s&&clearTimeout(s),u=0,i=l=r=s=void 0},y.flush=function(){return void 0===s?o:v(p())},y},D=function(e,t,n){var i=!0,r=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");return c(n)&&(i=\"leading\"in n?!!n.leading:i,r=\"trailing\"in n?!!n.trailing:r),M(e,t,{leading:i,maxWait:t,trailing:r})};var C=i(115),W=i.n(C),N=function(){if(\"undefined\"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,i){return e[0]===t&&(n=i,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,\"size\",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),i=this.__entries__[n];return i&&i[1]},t.prototype.set=function(t,n){var i=e(this.__entries__,t);~i?this.__entries__[i][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,i=e(n,t);~i&&n.splice(i,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,i=this.__entries__;n0},e.prototype.connect_=function(){F&&!this.connected_&&(document.addEventListener(\"transitionend\",this.onTransitionEnd_),window.addEventListener(\"resize\",this.refresh),U?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){F&&this.connected_&&(document.removeEventListener(\"transitionend\",this.onTransitionEnd_),window.removeEventListener(\"resize\",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?\"\":t;A.some((function(e){return!!~n.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),G=function(e,t){for(var n=0,i=Object.keys(t);n0},e}(),te=\"undefined\"!=typeof WeakMap?new WeakMap:new N,ne=function e(t){if(!(this instanceof e))throw new TypeError(\"Cannot call a class as a function.\");if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");var n=q.getInstance(),i=new ee(t,n,this);te.set(this,i)};[\"observe\",\"unobserve\",\"disconnect\"].forEach((function(e){ne.prototype[e]=function(){var t;return(t=te.get(this))[e].apply(t,arguments)}}));const ie=void 0!==z.ResizeObserver?z.ResizeObserver:ne,re=\"Left\",ae=\"Right\",oe=\"Up\",se=\"Down\",le={delta:10,preventScrollOnSwipe:!1,rotationAngle:0,trackMouse:!1,trackTouch:!0,swipeDuration:1/0,touchEventOptions:{passive:!0}},ue={first:!0,initial:[0,0],start:0,swiping:!1,xy:[0,0]},ce=\"mousemove\",he=\"mouseup\";function de(e,t){if(0===t)return e;const n=Math.PI/180*t;return[e[0]*Math.cos(n)+e[1]*Math.sin(n),e[1]*Math.cos(n)-e[0]*Math.sin(n)]}function fe(e){const{trackMouse:t}=e,n=s.useRef(Object.assign({},ue)),i=s.useRef(Object.assign({},le)),r=s.useRef(Object.assign({},i.current));let a;for(a in r.current=Object.assign({},i.current),i.current=Object.assign(Object.assign({},le),e),le)void 0===i.current[a]&&(i.current[a]=le[a]);const[o,l]=s.useMemo((()=>function(e,t){const n=t=>{const n=\"touches\"in t;n&&t.touches.length>1||e(((e,r)=>{r.trackMouse&&!n&&(document.addEventListener(ce,i),document.addEventListener(he,a));const{clientX:o,clientY:s}=n?t.touches[0]:t,l=de([o,s],r.rotationAngle);return r.onTouchStartOrOnMouseDown&&r.onTouchStartOrOnMouseDown({event:t}),Object.assign(Object.assign(Object.assign({},e),ue),{initial:l.slice(),xy:l,start:t.timeStamp||0})}))},i=t=>{e(((e,n)=>{const i=\"touches\"in t;if(i&&t.touches.length>1)return e;if(t.timeStamp-e.start>n.swipeDuration)return e.swiping?Object.assign(Object.assign({},e),{swiping:!1}):e;const{clientX:r,clientY:a}=i?t.touches[0]:t,[o,s]=de([r,a],n.rotationAngle),l=o-e.xy[0],u=s-e.xy[1],c=Math.abs(l),h=Math.abs(u),d=(t.timeStamp||0)-e.start,f=Math.sqrt(c*c+h*h)/(d||1),p=[l/(d||1),u/(d||1)],m=function(e,t,n,i){return e>t?n>0?ae:re:i>0?se:oe}(c,h,l,u),b=\"number\"==typeof n.delta?n.delta:n.delta[m.toLowerCase()]||le.delta;if(c{e(((e,n)=>{let i;if(e.swiping&&e.eventData){if(t.timeStamp-e.start{document.removeEventListener(ce,i),document.removeEventListener(he,a),r(e)},o=(e,t)=>{let a=()=>{};if(e&&e.addEventListener){const o=Object.assign(Object.assign({},le.touchEventOptions),t.touchEventOptions),s=[[\"touchstart\",n,o],[\"touchmove\",i,Object.assign(Object.assign({},o),t.preventScrollOnSwipe?{passive:!1}:{})],[\"touchend\",r,o]];s.forEach((([t,n,i])=>e.addEventListener(t,n,i))),a=()=>s.forEach((([t,n])=>e.removeEventListener(t,n)))}return a},s={ref:t=>{null!==t&&e(((e,n)=>{if(e.el===t)return e;const i={};return e.el&&e.el!==t&&e.cleanUpTouch&&(e.cleanUpTouch(),i.cleanUpTouch=void 0),n.trackTouch&&t&&(i.cleanUpTouch=o(t,n)),Object.assign(Object.assign(Object.assign({},e),{el:t}),i)}))}};return t.trackMouse&&(s.onMouseDown=n),[s,o]}((e=>n.current=e(n.current,i.current)),{trackMouse:t})),[t]);return n.current=function(e,t,n,i){return t.trackTouch&&e.el?e.cleanUpTouch?t.preventScrollOnSwipe!==n.preventScrollOnSwipe||t.touchEventOptions.passive!==n.touchEventOptions.passive?(e.cleanUpTouch(),Object.assign(Object.assign({},e),{cleanUpTouch:i(e.el,t)})):e:Object.assign(Object.assign({},e),{cleanUpTouch:i(e.el,t)}):(e.cleanUpTouch&&e.cleanUpTouch(),Object.assign(Object.assign({},e),{cleanUpTouch:void 0}))}(n.current,i.current,r.current,l),o}var pe=i(556);function me(e){return me=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},me(e)}function be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ge(e){for(var t=1;t=3&&i&&(0===e&&t===r.length-1?a=\" \".concat(s):e===r.length-1&&0===t&&(a=\" \".concat(o))),a}},{key:\"getTranslateXForTwoSlide\",value:function(e){var t=this.state,n=t.currentIndex,i=t.currentSlideOffset,r=t.previousIndex,a=n!==r,o=0===e&&0===r,s=1===e&&1===r,l=0===e&&1===n,u=1===e&&0===n,c=0===i,h=-100*n+100*e+i;return i>0?this.direction=\"left\":i<0&&(this.direction=\"right\"),u&&i>0&&(h=-100+i),l&&i<0&&(h=100+i),a?o&&c&&\"left\"===this.direction?h=100:s&&c&&\"right\"===this.direction&&(h=-100):(u&&c&&\"left\"===this.direction&&(h=-100),l&&c&&\"right\"===this.direction&&(h=100)),h}},{key:\"getThumbnailBarHeight\",value:function(){return this.isThumbnailVertical()?{height:this.state.gallerySlideWrapperHeight}:{}}},{key:\"getSlideStyle\",value:function(e){var t=this.state,n=t.currentIndex,i=t.currentSlideOffset,r=t.slideStyle,a=this.props,o=a.infinite,s=a.items,l=a.useTranslate3D,u=a.isRTL,c=a.slideVertically,h=-100*n,d=s.length-1,f=(h+100*e)*(u?-1:1)+i;o&&s.length>2&&(0===n&&e===d?f=-100*(u?-1:1)+i:n===d&&0===e&&(f=100*(u?-1:1)+i)),o&&2===s.length&&(f=this.getTranslateXForTwoSlide(e));var p=c?\"translate(0, \".concat(f,\"%)\"):\"translate(\".concat(f,\"%, 0)\");return l&&(p=c?\"translate3d(0, \".concat(f,\"%, 0)\"):\"translate3d(\".concat(f,\"%, 0, 0)\")),Qe({display:this.isSlideVisible(e)?\"inherit\":\"none\",WebkitTransform:p,MozTransform:p,msTransform:p,OTransform:p,transform:p},r)}},{key:\"getCurrentIndex\",value:function(){return this.state.currentIndex}},{key:\"getThumbnailStyle\",value:function(){var e,t=this.props,n=t.useTranslate3D,i=t.isRTL,r=this.state,a=r.thumbsTranslate,o=r.thumbsStyle,s=i?-1*a:a;return this.isThumbnailVertical()?(e=\"translate(0, \".concat(a,\"px)\"),n&&(e=\"translate3d(0, \".concat(a,\"px, 0)\"))):(e=\"translate(\".concat(s,\"px, 0)\"),n&&(e=\"translate3d(\".concat(s,\"px, 0, 0)\"))),Qe({WebkitTransform:e,MozTransform:e,msTransform:e,OTransform:e,transform:e},o)}},{key:\"getSlideItems\",value:function(){var e=this,t=this.state.currentIndex,n=this.props,i=n.items,r=n.slideOnThumbnailOver,a=n.onClick,l=n.lazyLoad,u=n.onTouchMove,c=n.onTouchEnd,h=n.onTouchStart,d=n.onMouseOver,f=n.onMouseLeave,p=n.renderItem,m=n.renderThumbInner,b=n.showThumbnails,g=n.showBullets,v=[],y=[],w=[];return i.forEach((function(n,i){var S=e.getAlignmentClassName(i),T=n.originalClass?\" \".concat(n.originalClass):\"\",O=n.thumbnailClass?\" \".concat(n.thumbnailClass):\"\",E=n.renderItem||p||e.renderItem,k=n.renderThumbInner||m||e.renderThumbInner,I=!l||S||e.lazyLoaded[i];I&&l&&!e.lazyLoaded[i]&&(e.lazyLoaded[i]=!0);var x=e.getSlideStyle(i),P=s.default.createElement(\"div\",{\"aria-label\":\"Go to Slide \".concat(i+1),key:\"slide-\".concat(i),tabIndex:\"-1\",className:\"image-gallery-slide \".concat(S,\" \").concat(T),style:x,onClick:a,onKeyUp:e.handleSlideKeyUp,onTouchMove:u,onTouchEnd:c,onTouchStart:h,onMouseOver:d,onFocus:d,onMouseLeave:f,role:\"button\"},I?E(n):s.default.createElement(\"div\",{style:{height:\"100%\"}}));if(v.push(P),b&&n.thumbnail){var j=o(\"image-gallery-thumbnail\",O,{active:t===i});y.push(s.default.createElement(\"button\",{key:\"thumbnail-\".concat(i),type:\"button\",tabIndex:\"0\",\"aria-pressed\":t===i?\"true\":\"false\",\"aria-label\":\"Go to Slide \".concat(i+1),className:j,onMouseLeave:r?e.onThumbnailMouseLeave:null,onMouseOver:function(t){return e.handleThumbnailMouseOver(t,i)},onFocus:function(t){return e.handleThumbnailMouseOver(t,i)},onKeyUp:function(t){return e.handleThumbnailKeyUp(t,i)},onClick:function(t){return e.onThumbnailClick(t,i)}},k(n)))}if(g){var _=o(\"image-gallery-bullet\",n.bulletClass,{active:t===i});w.push(s.default.createElement(\"button\",{type:\"button\",key:\"bullet-\".concat(i),className:_,onClick:function(t){return e.onBulletClick(t,i)},\"aria-pressed\":t===i?\"true\":\"false\",\"aria-label\":\"Go to Slide \".concat(i+1)}))}})),{slides:v,thumbnails:y,bullets:w}}},{key:\"ignoreIsTransitioning\",value:function(){var e=this.props.items,t=this.state,n=t.previousIndex,i=t.currentIndex,r=e.length-1;return Math.abs(n-i)>1&&!(0===n&&i===r)&&!(n===r&&0===i)}},{key:\"isFirstOrLastSlide\",value:function(e){return e===this.props.items.length-1||0===e}},{key:\"slideIsTransitioning\",value:function(e){var t=this.state,n=t.isTransitioning,i=t.previousIndex,r=t.currentIndex;return n&&!(e===i||e===r)}},{key:\"isSlideVisible\",value:function(e){return!this.slideIsTransitioning(e)||this.ignoreIsTransitioning()&&!this.isFirstOrLastSlide(e)}},{key:\"slideThumbnailBar\",value:function(){var e=this.state,t=e.currentIndex,n=e.isSwipingThumbnail,i=-this.getThumbsTranslate(t);n||(0===t?this.setState({thumbsTranslate:0,thumbsSwipedTranslate:0}):this.setState({thumbsTranslate:i,thumbsSwipedTranslate:i}))}},{key:\"canSlide\",value:function(){return this.props.items.length>=2}},{key:\"canSlideLeft\",value:function(){var e=this.props,t=e.infinite,n=e.isRTL;return t||(n?this.canSlideNext():this.canSlidePrevious())}},{key:\"canSlideRight\",value:function(){var e=this.props,t=e.infinite,n=e.isRTL;return t||(n?this.canSlidePrevious():this.canSlideNext())}},{key:\"canSlidePrevious\",value:function(){return this.state.currentIndex>0}},{key:\"canSlideNext\",value:function(){return this.state.currentIndex=100&&(g=100);var v={transition:\"transform \".concat(l,\"ms ease-out\")};this.setState({currentSlideOffset:b*g,slideStyle:v})}}},{key:\"handleThumbnailSwiping\",value:function(e){var t=e.event,n=e.absX,i=e.absY,r=e.dir,a=this.props,o=a.stopPropagation,s=a.swipingThumbnailTransitionDuration,l=this.state,u=l.thumbsSwipedTranslate,c=l.thumbnailsWrapperHeight,h=l.thumbnailsWrapperWidth,d=l.swipingUpDown,f=l.swipingLeftRight;if(this.isThumbnailVertical()){if((r===re||r===ae||f)&&!d)return void(f||this.setState({swipingLeftRight:!0}));r!==oe&&r!==se||d||this.setState({swipingUpDown:!0})}else{if((r===oe||r===se||d)&&!f)return void(d||this.setState({swipingUpDown:!0}));r!==re&&r!==ae||f||this.setState({swipingLeftRight:!0})}var p,m,b,g,v,y=this.thumbnails&&this.thumbnails.current;if(this.isThumbnailVertical()?(p=u+(r===se?i:-i),m=y.scrollHeight-c+20,b=Math.abs(p)>m,g=p>20,v=y.scrollHeight<=c):(p=u+(r===ae?n:-n),m=y.scrollWidth-h+20,b=Math.abs(p)>m,g=p>20,v=y.scrollWidth<=h),!v&&(r!==re&&r!==oe||!b)&&(r!==ae&&r!==se||!g)){o&&t.stopPropagation();var w={transition:\"transform \".concat(s,\"ms ease-out\")};this.setState({thumbsTranslate:p,thumbsStyle:w})}}},{key:\"handleOnThumbnailSwiped\",value:function(){var e=this.state.thumbsTranslate,t=this.props.slideDuration;this.resetSwipingDirection(),this.setState({isSwipingThumbnail:!0,thumbsSwipedTranslate:e,thumbsStyle:{transition:\"all \".concat(t,\"ms ease-out\")}})}},{key:\"sufficientSwipe\",value:function(){var e=this.state.currentSlideOffset,t=this.props.swipeThreshold;return Math.abs(e)>t}},{key:\"resetSwipingDirection\",value:function(){var e=this.state,t=e.swipingUpDown,n=e.swipingLeftRight;t&&this.setState({swipingUpDown:!1}),n&&this.setState({swipingLeftRight:!1})}},{key:\"handleOnSwiped\",value:function(e){var t=e.event,n=e.dir,i=e.velocity,r=this.props,a=r.disableSwipe,o=r.stopPropagation,s=r.flickThreshold,l=this.props.slideVertically;if(!a){var u=this.props.isRTL;o&&t.stopPropagation(),this.resetSwipingDirection();var c=(n===re?1:-1)*(u?-1:1);l&&(c=n===oe?1:-1);var h=l?i>s&&!(n===re||n===ae):i>s&&!(n===oe||n===se);this.handleOnSwipedTo(c,h)}}},{key:\"handleOnSwipedTo\",value:function(e,t){var n=this.state,i=n.currentIndex,r=n.isTransitioning,a=i;!this.sufficientSwipe()&&!t||r||(a+=e),(-1===e&&!this.canSlideLeft()||1===e&&!this.canSlideRight())&&(a=i),this.unthrottledSlideToIndex(a)}},{key:\"handleMouseDown\",value:function(){this.imageGallery.current.classList.add(\"image-gallery-using-mouse\")}},{key:\"handleKeyDown\",value:function(e){var t=this.props,n=t.disableKeyDown,i=t.useBrowserFullscreen,r=this.state.isFullscreen;if(this.imageGallery.current.classList.remove(\"image-gallery-using-mouse\"),!n)switch(parseInt(e.keyCode||e.which||0,10)){case 37:this.canSlideLeft()&&!this.playPauseIntervalId&&this.slideLeft(e);break;case 39:this.canSlideRight()&&!this.playPauseIntervalId&&this.slideRight(e);break;case 27:r&&!i&&this.exitFullScreen()}}},{key:\"handleImageError\",value:function(e){var t=this.props.onErrorImageURL;t&&-1===e.target.src.indexOf(t)&&(e.target.src=t)}},{key:\"removeThumbnailsResizeObserver\",value:function(){this.resizeThumbnailWrapperObserver&&this.thumbnailsWrapper&&this.thumbnailsWrapper.current&&(this.resizeThumbnailWrapperObserver.unobserve(this.thumbnailsWrapper.current),this.resizeThumbnailWrapperObserver=null)}},{key:\"removeResizeObserver\",value:function(){this.resizeSlideWrapperObserver&&this.imageGallerySlideWrapper&&this.imageGallerySlideWrapper.current&&(this.resizeSlideWrapperObserver.unobserve(this.imageGallerySlideWrapper.current),this.resizeSlideWrapperObserver=null),this.removeThumbnailsResizeObserver()}},{key:\"handleResize\",value:function(){var e=this.state.currentIndex;this.imageGallery&&(this.imageGallery&&this.imageGallery.current&&this.setState({galleryWidth:this.imageGallery.current.offsetWidth,galleryHeight:this.imageGallery.current.offsetHeight}),this.imageGallerySlideWrapper&&this.imageGallerySlideWrapper.current&&this.setState({gallerySlideWrapperHeight:this.imageGallerySlideWrapper.current.offsetHeight}),this.setThumbsTranslate(-this.getThumbsTranslate(e)))}},{key:\"initSlideWrapperResizeObserver\",value:function(e){var t=this;e&&!e.current||(this.resizeSlideWrapperObserver=new ie(M((function(e){e&&e.forEach((function(e){t.setState({thumbnailsWrapperWidth:e.contentRect.width},t.handleResize)}))}),50)),this.resizeSlideWrapperObserver.observe(e.current))}},{key:\"initThumbnailWrapperResizeObserver\",value:function(e){var t=this;e&&!e.current||(this.resizeThumbnailWrapperObserver=new ie(M((function(e){e&&e.forEach((function(e){t.setState({thumbnailsWrapperHeight:e.contentRect.height},t.handleResize)}))}),50)),this.resizeThumbnailWrapperObserver.observe(e.current))}},{key:\"toggleFullScreen\",value:function(){this.state.isFullscreen?this.exitFullScreen():this.fullScreen()}},{key:\"togglePlay\",value:function(){this.playPauseIntervalId?this.pause():this.play()}},{key:\"handleScreenChange\",value:function(){var e=this.props,t=e.onScreenChange,n=e.useBrowserFullscreen,i=document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement,r=this.imageGallery.current===i;t&&t(r),n&&this.setState({isFullscreen:r})}},{key:\"slideToIndex\",value:function(e,t){var n=this.state,i=n.currentIndex,r=n.isTransitioning,a=this.props,o=a.items,s=a.slideDuration,l=a.onBeforeSlide;if(!r){t&&this.playPauseIntervalId&&(this.pause(!1),this.play(!1));var u=o.length-1,c=e;e<0?c=u:e>u&&(c=0),l&&c!==i&&l(c),this.setState({previousIndex:i,currentIndex:c,isTransitioning:c!==i,currentSlideOffset:0,slideStyle:{transition:\"all \".concat(s,\"ms ease-out\")}},this.onSliding)}}},{key:\"slideLeft\",value:function(e){var t=this.props.isRTL;this.slideTo(e,t?\"right\":\"left\")}},{key:\"slideRight\",value:function(e){var t=this.props.isRTL;this.slideTo(e,t?\"left\":\"right\")}},{key:\"slideTo\",value:function(e,t){var n=this.state,i=n.currentIndex,r=n.isTransitioning,a=this.props.items,o=i+(\"left\"===t?-1:1);r||(2===a.length?this.slideToIndexWithStyleReset(o,e):this.slideToIndex(o,e))}},{key:\"slideToIndexWithStyleReset\",value:function(e,t){var n=this,i=this.state,r=i.currentIndex,a=i.currentSlideOffset;this.setState({currentSlideOffset:a+(r>e?.001:-.001),slideStyle:{transition:\"none\"}},(function(){window.setTimeout((function(){return n.slideToIndex(e,t)}),25)}))}},{key:\"handleThumbnailMouseOver\",value:function(e,t){this.props.slideOnThumbnailOver&&this.onThumbnailMouseOver(e,t)}},{key:\"handleThumbnailKeyUp\",value:function(e,t){st(e)&&this.onThumbnailClick(e,t)}},{key:\"handleSlideKeyUp\",value:function(e){st(e)&&(0,this.props.onClick)(e)}},{key:\"isThumbnailVertical\",value:function(){var e=this.props.thumbnailPosition;return\"left\"===e||\"right\"===e}},{key:\"addScreenChangeEvent\",value:function(){var e=this;at.forEach((function(t){document.addEventListener(t,e.handleScreenChange)}))}},{key:\"removeScreenChangeEvent\",value:function(){var e=this;at.forEach((function(t){document.removeEventListener(t,e.handleScreenChange)}))}},{key:\"fullScreen\",value:function(){var e=this.props.useBrowserFullscreen,t=this.imageGallery.current;e?t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():this.setModalFullscreen(!0):this.setModalFullscreen(!0),this.setState({isFullscreen:!0})}},{key:\"exitFullScreen\",value:function(){var e=this.state.isFullscreen,t=this.props.useBrowserFullscreen;e&&(t?document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen?document.msExitFullscreen():this.setModalFullscreen(!1):this.setModalFullscreen(!1),this.setState({isFullscreen:!1}))}},{key:\"pauseOrPlay\",value:function(){var e=this.props.infinite,t=this.state.currentIndex;e||this.canSlideRight()?this.slideToIndex(t+1):this.pause()}},{key:\"play\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.props,n=t.onPlay,i=t.slideInterval,r=t.slideDuration,a=this.state.currentIndex;this.playPauseIntervalId||(this.setState({isPlaying:!0}),this.playPauseIntervalId=window.setInterval(this.pauseOrPlay,Math.max(i,r)),n&&e&&n(a))}},{key:\"pause\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.props.onPause,n=this.state.currentIndex;this.playPauseIntervalId&&(window.clearInterval(this.playPauseIntervalId),this.playPauseIntervalId=null,this.setState({isPlaying:!1}),t&&e&&t(n))}},{key:\"isImageLoaded\",value:function(e){return!!this.loadedImages[e.original]||(this.loadedImages[e.original]=!0,!1)}},{key:\"handleImageLoaded\",value:function(e,t){var n=this.props.onImageLoad;!this.loadedImages[t]&&n&&(this.loadedImages[t]=!0,n(e))}},{key:\"renderItem\",value:function(e){var t=this.state.isFullscreen,n=this.props.onImageError||this.handleImageError;return s.default.createElement(Se,{description:e.description,fullscreen:e.fullscreen,handleImageLoaded:this.handleImageLoaded,isFullscreen:t,onImageError:n,original:e.original,originalAlt:e.originalAlt,originalHeight:e.originalHeight,originalWidth:e.originalWidth,originalTitle:e.originalTitle,sizes:e.sizes,loading:e.loading,srcSet:e.srcSet})}},{key:\"renderThumbInner\",value:function(e){var t=this.props.onThumbnailError||this.handleImageError;return s.default.createElement(\"span\",{className:\"image-gallery-thumbnail-inner\"},s.default.createElement(\"img\",{className:\"image-gallery-thumbnail-image\",src:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth,alt:e.thumbnailAlt,title:e.thumbnailTitle,loading:e.thumbnailLoading,onError:t}),e.thumbnailLabel&&s.default.createElement(\"div\",{className:\"image-gallery-thumbnail-label\"},e.thumbnailLabel))}},{key:\"render\",value:function(){var e=this.state,t=e.currentIndex,n=e.isFullscreen,i=e.modalFullscreen,r=e.isPlaying,a=this.props,l=a.additionalClass,u=a.disableThumbnailSwipe,c=a.indexSeparator,h=a.isRTL,d=a.items,f=a.thumbnailPosition,p=a.renderFullscreenButton,m=a.renderCustomControls,b=a.renderLeftNav,g=a.renderRightNav,v=a.renderTopNav,y=a.renderBottomNav,w=a.showBullets,S=a.showFullscreenButton,T=a.showIndex,O=a.showThumbnails,E=a.showNav,k=a.showPlayButton,I=a.slideVertically,x=a.renderPlayPauseButton,P=this.getThumbnailStyle(),j=this.getSlideItems(),_=j.slides,R=j.thumbnails,L=j.bullets,M=o(\"image-gallery-slide-wrapper\",this.getThumbnailPositionClassName(f),{\"image-gallery-rtl\":h}),D=o(\"image-gallery-bullets\",{\"image-gallery-bullets-vertical\":I}),C=s.default.createElement(\"div\",{ref:this.imageGallerySlideWrapper,className:M},m&&m(),this.canSlide()?s.default.createElement(s.default.Fragment,null,E&&s.default.createElement(s.default.Fragment,null,I?v(this.slideLeft,!this.canSlideLeft()):b(this.slideLeft,!this.canSlideLeft()),I?y(this.slideRight,!this.canSlideRight()):g(this.slideRight,!this.canSlideRight())),s.default.createElement(He,{className:\"image-gallery-swipe\",delta:0,onSwiping:this.handleSwiping,onSwiped:this.handleOnSwiped},s.default.createElement(\"div\",{className:\"image-gallery-slides\"},_))):s.default.createElement(\"div\",{className:\"image-gallery-slides\"},_),k&&x(this.togglePlay,r),w&&s.default.createElement(\"div\",{className:D},s.default.createElement(\"div\",{className:\"image-gallery-bullets-container\",role:\"navigation\",\"aria-label\":\"Bullet Navigation\"},L)),S&&p(this.toggleFullScreen,n),T&&s.default.createElement(\"div\",{className:\"image-gallery-index\"},s.default.createElement(\"span\",{className:\"image-gallery-index-current\"},t+1),s.default.createElement(\"span\",{className:\"image-gallery-index-separator\"},c),s.default.createElement(\"span\",{className:\"image-gallery-index-total\"},d.length))),W=o(\"image-gallery\",l,{\"fullscreen-modal\":i}),N=o(\"image-gallery-content\",this.getThumbnailPositionClassName(f),{fullscreen:n}),F=o(\"image-gallery-thumbnails-wrapper\",this.getThumbnailPositionClassName(f),{\"thumbnails-wrapper-rtl\":!this.isThumbnailVertical()&&h},{\"thumbnails-swipe-horizontal\":!this.isThumbnailVertical()&&!u},{\"thumbnails-swipe-vertical\":this.isThumbnailVertical()&&!u});return s.default.createElement(\"div\",{ref:this.imageGallery,className:W,\"aria-live\":\"polite\"},s.default.createElement(\"div\",{className:N},(\"bottom\"===f||\"right\"===f)&&C,O&&R.length>0?s.default.createElement(He,{className:F,delta:0,onSwiping:!u&&this.handleThumbnailSwiping,onSwiped:!u&&this.handleOnThumbnailSwiped},s.default.createElement(\"div\",{className:\"image-gallery-thumbnails\",ref:this.thumbnailsWrapper,style:this.getThumbnailBarHeight()},s.default.createElement(\"nav\",{ref:this.thumbnails,className:\"image-gallery-thumbnails-container\",style:P,\"aria-label\":\"Thumbnail Navigation\"},R))):null,(\"top\"===f||\"left\"===f)&&C))}}])}();lt.propTypes={flickThreshold:pe.number,items:(0,pe.arrayOf)((0,pe.shape)({bulletClass:pe.string,bulletOnClick:pe.func,description:pe.string,original:pe.string,originalHeight:pe.number,originalWidth:pe.number,loading:pe.string,thumbnailHeight:pe.number,thumbnailWidth:pe.number,thumbnailLoading:pe.string,fullscreen:pe.string,originalAlt:pe.string,originalTitle:pe.string,thumbnail:pe.string,thumbnailAlt:pe.string,thumbnailLabel:pe.string,thumbnailTitle:pe.string,originalClass:pe.string,thumbnailClass:pe.string,renderItem:pe.func,renderThumbInner:pe.func,imageSet:ot,srcSet:pe.string,sizes:pe.string})).isRequired,showNav:pe.bool,autoPlay:pe.bool,lazyLoad:pe.bool,infinite:pe.bool,showIndex:pe.bool,showBullets:pe.bool,showThumbnails:pe.bool,showPlayButton:pe.bool,showFullscreenButton:pe.bool,disableThumbnailScroll:pe.bool,disableKeyDown:pe.bool,disableSwipe:pe.bool,disableThumbnailSwipe:pe.bool,useBrowserFullscreen:pe.bool,onErrorImageURL:pe.string,indexSeparator:pe.string,thumbnailPosition:(0,pe.oneOf)([\"top\",\"bottom\",\"left\",\"right\"]),startIndex:pe.number,slideDuration:pe.number,slideInterval:pe.number,slideOnThumbnailOver:pe.bool,swipeThreshold:pe.number,swipingTransitionDuration:pe.number,swipingThumbnailTransitionDuration:pe.number,onSlide:pe.func,onBeforeSlide:pe.func,onScreenChange:pe.func,onPause:pe.func,onPlay:pe.func,onClick:pe.func,onImageLoad:pe.func,onImageError:pe.func,onTouchMove:pe.func,onTouchEnd:pe.func,onTouchStart:pe.func,onMouseOver:pe.func,onMouseLeave:pe.func,onBulletClick:pe.func,onThumbnailError:pe.func,onThumbnailClick:pe.func,renderCustomControls:pe.func,renderLeftNav:pe.func,renderRightNav:pe.func,renderTopNav:pe.func,renderBottomNav:pe.func,renderPlayPauseButton:pe.func,renderFullscreenButton:pe.func,renderItem:pe.func,renderThumbInner:pe.func,stopPropagation:pe.bool,additionalClass:pe.string,useTranslate3D:pe.bool,isRTL:pe.bool,useWindowKeyDown:pe.bool,slideVertically:pe.bool},lt.defaultProps={onErrorImageURL:\"\",additionalClass:\"\",showNav:!0,autoPlay:!1,lazyLoad:!1,infinite:!0,showIndex:!1,showBullets:!1,showThumbnails:!0,showPlayButton:!0,showFullscreenButton:!0,disableThumbnailScroll:!1,disableKeyDown:!1,disableSwipe:!1,disableThumbnailSwipe:!1,useTranslate3D:!0,isRTL:!1,useBrowserFullscreen:!0,flickThreshold:.4,stopPropagation:!1,indexSeparator:\" / \",thumbnailPosition:\"bottom\",startIndex:0,slideDuration:450,swipingTransitionDuration:0,swipingThumbnailTransitionDuration:0,onSlide:null,onBeforeSlide:null,onScreenChange:null,onPause:null,onPlay:null,onClick:null,onImageLoad:null,onImageError:null,onTouchMove:null,onTouchEnd:null,onTouchStart:null,onMouseOver:null,onMouseLeave:null,onBulletClick:null,onThumbnailError:null,onThumbnailClick:null,renderCustomControls:null,renderThumbInner:null,renderItem:null,slideInterval:3e3,slideOnThumbnailOver:!1,swipeThreshold:30,slideVertically:!1,renderLeftNav:function(e,t){return s.default.createElement(Me,{onClick:e,disabled:t})},renderRightNav:function(e,t){return s.default.createElement(Ce,{onClick:e,disabled:t})},renderTopNav:function(e,t){return s.default.createElement(Ke,{onClick:e,disabled:t})},renderBottomNav:function(e,t){return s.default.createElement(Ye,{onClick:e,disabled:t})},renderPlayPauseButton:function(e,t){return s.default.createElement(Ne,{onClick:e,isPlaying:t})},renderFullscreenButton:function(e,t){return s.default.createElement(Re,{onClick:e,isFullscreen:t})},useWindowKeyDown:!0};const ut=lt;var ct=r.A;export{ct as default};"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","default","jsx","d","fillRule","getCardUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CardRoot","styled","Paper","name","overridesResolver","props","styles","root","overflow","React","inProps","ref","useDefaultProps","className","raised","other","_objectWithoutPropertiesLoose","ownerState","_extends","classes","composeClasses","useUtilityClasses","_jsx","clsx","elevation","undefined","getCardContentUtilityClass","CardContentRoot","padding","paddingBottom","component","as","defaultTheme","createTheme","defaultCreateStyledComponent","systemStyled","capitalize","String","maxWidth","fixed","disableGutters","useThemePropsDefault","useThemePropsSystem","Container","options","arguments","length","createStyledComponent","useThemeProps","componentName","ContainerRoot","_ref","theme","width","marginLeft","boxSizing","marginRight","display","paddingLeft","spacing","paddingRight","breakpoints","up","_ref2","Object","keys","values","reduce","acc","breakpointValueKey","breakpoint","value","unit","_ref3","Math","max","xs","slots","createContainer","joinChildren","children","separator","childrenArray","toArray","filter","Boolean","output","child","index","push","key","style","flexDirection","handleBreakpoints","resolveBreakpointValues","direction","propValue","transformer","createUnarySpacing","base","directionValues","spacingValues","forEach","previousDirectionValue","styleFromPropValue","useFlexGap","gap","getValue","margin","row","column","deepmerge","mergeBreakpointsInOrder","Stack","StackRoot","themeProps","extendSxProp","divider","createStack","getFormControlLabelUtilityClasses","FormControlLabelRoot","formControlLabelClasses","label","labelPlacement","alignItems","cursor","verticalAlign","WebkitTapHighlightColor","disabled","color","vars","palette","text","AsteriskComponent","asterisk","error","main","_slotProps$typography","componentsProps","control","disabledProp","disableTypography","labelProp","required","requiredProp","slotProps","muiFormControl","useFormControl","controlProps","fcs","formControlState","states","typographySlotProps","typography","type","Typography","_jsxs","getFormGroupUtilityClass","FormGroupRoot","flexWrap","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","position","disablePointerEvents","variant","height","maxHeight","whiteSpace","action","active","inputAdornmentClasses","positionStart","hiddenLabel","marginTop","pointerEvents","variantProp","size","FormControlContext","Provider","getLinearProgressUtilityClass","_t","_t2","_t3","_t4","_t5","_t6","_","t","indeterminate1Keyframe","keyframes","indeterminate2Keyframe","bufferKeyframe","getColorShade","LinearProgress","mode","lighten","darken","LinearProgressRoot","zIndex","colorAdjust","backgroundColor","content","left","top","right","bottom","opacity","transform","LinearProgressDashed","dashed","backgroundImage","backgroundSize","backgroundPosition","css","LinearProgressBar1","bar","bar1Indeterminate","bar1Determinate","bar1Buffer","transition","transformOrigin","_ref4","LinearProgressBar2","bar2Indeterminate","bar2Buffer","_ref5","_ref6","valueBuffer","bar1","bar2","isRtl","useRtl","rootProps","inlineStyles","round","process","role","array1","array2","itemComparer","a","b","every","asc","findClosest","currentValue","_values$reduce","closestIndex","distance","abs","trackFinger","event","touchId","current","changedTouches","touchEvent","i","touch","identifier","x","clientX","y","clientY","valueToPercent","min","roundValueToStep","step","nearest","Number","toFixed","num","parts","toExponential","split","matissaDecimalPart","parseInt","decimalPart","toString","getDecimalPrecision","setValueIndex","newValue","slice","sort","focusThumb","sliderRef","activeIndex","setActive","_sliderRef$current","_doc$activeElement","doc","ownerDocument","_sliderRef$current2","contains","activeElement","getAttribute","querySelector","focus","areValuesEqual","oldValue","areArraysEqual","axisProps","horizontal","offset","percent","leap","vertical","Identity","cachedSupportsTouchActionNone","doesSupportTouchActionNone","CSS","supports","useSlider","parameters","ariaLabelledby","defaultValue","disableSwap","marks","marksProp","onChange","onChangeCommitted","orientation","rootRef","scale","shiftStep","tabIndex","valueProp","open","setOpen","dragging","setDragging","moveCount","valueDerived","setValueState","useControlled","controlled","handleChange","thumbIndex","nativeEvent","clonedEvent","constructor","defineProperty","writable","range","Array","isArray","map","clamp","floor","marksValues","mark","isFocusVisibleRef","onBlur","handleBlurVisible","onFocus","handleFocusVisible","focusVisibleRef","useIsFocusVisible","focusedThumbIndex","setFocusedThumbIndex","handleFocusRef","useForkRef","handleRef","createHandleHiddenInputFocus","otherHandlers","_otherHandlers$onFocu","currentTarget","call","createHandleHiddenInputBlur","_otherHandlers$onBlur","changeValue","valueInput","marksIndex","indexOf","maxMarksValue","Infinity","previousValue","createHandleHiddenInputKeyDown","_otherHandlers$onKeyD","shiftKey","preventDefault","onKeyDown","useEnhancedEffect","_document$activeEleme","document","blur","previousIndex","axis","getFingerNewValue","finger","move","slider","getBoundingClientRect","percentToValue","handleTouchMove","useEventCallback","buttons","handleTouchEnd","stopListening","handleTouchStart","addEventListener","passive","removeEventListener","trackOffset","trackLeap","createHandleMouseLeave","_otherHandlers$onMous3","onMouseLeave","getHiddenInputProps","externalProps","_parameters$step","externalHandlers","extractEventHandlers","ownEventHandlers","_otherHandlers$onChan","target","valueAsNumber","mergedEventHandlers","visuallyHidden","getRootProps","onMouseDown","_otherHandlers$onMous","defaultPrevented","button","getThumbProps","onMouseOver","_otherHandlers$onMous2","getThumbStyle","Slot","isHostComponent","getSliderUtilityClass","SliderRoot","marked","track","trackInverted","trackFalse","_ref9","_theme$vars","borderRadius","touchAction","sliderClasses","grey","thumb","variants","_theme$vars2","marginBottom","SliderRail","rail","SliderTrack","_ref10","_theme$vars3","border","transitions","create","duration","shortest","_theme$vars4","Slider","borderColor","applyStyles","SliderThumb","_ref11","_theme$vars5","outline","justifyContent","boxShadow","shadows","_theme$vars6","focusVisible","mainChannel","alpha","SliderValueLabel","valueLabelOpen","circle","valueLabelCircle","valueLabelLabel","useValueLabelClasses","valueLabel","_ref12","body2","fontWeight","common","white","fontSize","pxToRem","SliderMark","shouldForwardProp","prop","slotShouldForwardProp","markActive","_ref13","background","paper","SliderMarkLabel","markLabel","_ref14","secondary","markLabelActive","primary","Forward","_ref15","inputProps","_slots$root","_slots$rail","_slots$track","_slots$thumb","_slots$valueLabel","_slots$mark","_ref7","_slots$markLabel","_ref8","_slots$input","_slotProps$root","_slotProps$rail","_slotProps$track","_slotProps$thumb","_slotProps$valueLabel","_slotProps$mark","_slotProps$markLabel","_slotProps$input","ariaLabel","ariaValuetext","components","classesProp","getAriaLabel","getAriaValueText","valueLabelDisplay","valueLabelFormat","some","RootSlot","Root","RailSlot","Rail","TrackSlot","Track","ThumbSlot","Thumb","ValueLabelSlot","ValueLabel","MarkSlot","Mark","MarkLabelSlot","MarkLabel","InputSlot","input","Input","rootSlotProps","railSlotProps","trackSlotProps","thumbSlotProps","valueLabelSlotProps","markSlotProps","markLabelSlotProps","inputSlotProps","useSlotProps","elementType","getSlotProps","externalSlotProps","externalForwardedProps","additionalProps","shouldSpreadAdditionalProps","railProps","trackProps","thumbProps","valueLabelProps","markProps","markLabelProps","inputSliderProps","ValueLabelComponent","getTableContainerUtilityClass","TableContainerRoot","overflowX","ScrollbarSize","scrollbarHeight","nodeRef","setMeasurements","offsetHeight","clientHeight","handleResize","debounce","prevHeight","containerWindow","ownerWindow","clear","isValueSelected","candidate","_excluded2","ToggleButtonRoot","ButtonBase","selectedColorChannel","selectedColor","primaryChannel","shape","fullWidth","toggleButtonClasses","disabledBackground","textDecoration","hoverOpacity","selected","selectedOpacity","_React$useContext","ToggleButtonGroupContext","contextValue","contextProps","toggleButtonGroupButtonContextPositionClassName","ToggleButtonGroupButtonContext","resolvedProps","resolveProps","disableFocusRipple","onClick","getToggleButtonUtilityClass","positionClassName","focusRipple","getToggleButtonGroupUtilityClass","ToggleButtonGroupRoot","toggleButtonGroupClasses","grouped","firstButton","lastButton","middleButton","borderLeft","borderTop","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","exclusive","buttonValue","splice","concat","handleExclusiveChange","context","validChildren","getValidReactChildren","childrenCount","getButtonPositionClassName","isFirstButton","isLastButton","systemUseThemeProps","themeId","THEME_ID","clampWrapper","decomposeColor","charAt","re","RegExp","colors","match","n","join","hexToRgb","marker","substring","Error","_formatMuiErrorMessage","colorSpace","shift","parseFloat","recomposeColor","_excluded3","systemDefaultTheme","lowercaseFirstLetter","string","toLowerCase","resolveTheme","obj","defaultOverridesResolver","processStyleArg","callableStyle","resolvedStylesArg","flatMap","resolvedStyle","result","isMatch","createStyled","rootShouldForwardProp","systemSx","styleFunctionSx","__mui_systemSx","tag","inputOptions","processStyles","componentSlot","skipVariantsResolver","inputSkipVariantsResolver","skipSx","inputSkipSx","shouldForwardPropOption","charCodeAt","isStringTag","defaultStyledResolver","styledEngineStyled","transformStyleArg","stylesArg","__emotion_real","isPlainObject","muiStyledResolver","styleArg","transformedStyleArg","_len","expressions","_key","expressionsWithDefaultTheme","styleOverrides","resolvedStyleOverrides","entries","slotKey","slotStyle","_theme$components","numOfCustomFnsApplied","placeholders","fill","raw","Component","muiName","withConfig","useTheme","getThemeProps","PropTypes","clip","addMilliseconds","date","amount","timestamp","toDate","constructFrom","addSeconds","addMinutes","millisecondsInMinute","addHours","millisecondsInHour","addWeeks","days","addDays","addMonths","_date","isNaN","NaN","dayOfMonth","getDate","endOfDesiredMonth","getTime","setMonth","getMonth","setFullYear","getFullYear","addYears","endOfWeek","defaultOptions","getDefaultOptions","weekStartsOn","locale","day","getDay","diff","setDate","setHours","endOfYear","year","getDaysInMonth","monthIndex","lastDayOfMonth","getHours","getMinutes","getSeconds","getMilliseconds","getYear","isAfter","dateToCompare","_dateToCompare","isBefore","isEqual","leftDate","rightDate","isSameDay","dateLeft","dateRight","startOfDay","isSameYear","_dateLeft","_dateRight","isSameMonth","startOfHour","setMinutes","isSameHour","hours","minutes","month","dateWithDesiredMonth","daysInMonth","setSeconds","seconds","setMilliseconds","milliseconds","setYear","startOfMonth","isWithinInterval","interval","time","startTime","endTime","start","end","formatTokenMap","sectionType","contentType","maxLength","yy","yyy","yyyy","M","MM","MMMM","MMM","L","LL","LLL","LLLL","dd","do","E","EE","EEE","EEEE","EEEEE","ii","iii","iiii","e","ee","eee","eeee","eeeee","eeeeee","c","cc","ccc","cccc","ccccc","cccccc","aa","aaa","H","HH","h","hh","m","mm","s","ss","defaultFormats","monthShort","dayOfMonthFull","weekday","weekdayShort","hours24h","hours12h","meridiem","fullDate","keyboardDate","shortDate","normalDate","normalDateWithWeekday","fullTime","fullTime12h","fullTime24h","keyboardDateTime","keyboardDateTime12h","keyboardDateTime24h","AdapterDateFnsBase","this","isMUIAdapter","isTimezoneCompatible","lib","formats","escapedCharacters","longFormatters","Date","getInvalidDate","getTimezone","setTimezone","toJsDate","getCurrentLocaleCode","code","is12HourCycleInCurrentLocale","test","formatLong","expandFormat","format","token","firstCharacter","longFormatter","formatNumber","numberToFormat","getDayOfWeek","AdapterDateFns","super","enUS","parse","dateFnsParse","isValid","formatKey","formatByString","formatString","dateFnsFormat","comparing","isAfterYear","isAfterDay","endOfDay","isBeforeYear","startOfYear","isBeforeDay","isWithinRange","startOfWeek","endOfMonth","getWeekArray","count","nestedWeeks","weekNumber","getWeekNumber","getWeek","getYearRange","startDate","endDate","years","getDatePickerToolbarUtilityClass","DatePickerToolbarRoot","PickersToolbar","DatePickerToolbarTitle","title","isLandscape","DatePickerToolbar","toolbarFormat","toolbarPlaceholder","views","utils","useUtils","translations","usePickersTranslations","dateText","formatFromViews","resolveDateFormat","toolbarTitle","datePickerToolbarTitle","align","useDatePickerDefaultizedProps","defaultDates","useDefaultDates","localeText","applyDefaultViewProps","openTo","defaultViews","defaultOpenTo","disableFuture","disablePast","minDate","applyDefaultDate","maxDate","toolbar","validateDate","adapter","shouldDisableDate","shouldDisableMonth","shouldDisableYear","timezone","now","DateField","inRef","InputProps","TextField","textField","enableAccessibleFieldDOMStructure","PickersTextField","MuiTextField","textFieldProps","fieldResponse","useDefaultizedDateField","forwardedProps","internalProps","splitFieldInternalAndForwardedProps","useField","valueManager","singleItemValueManager","fieldValueManager","singleItemFieldValueManager","validator","valueType","useDateField","convertedFieldResponse","convertFieldResponseIntoMuiTextFieldProps","processedFieldProps","useClearableField","useIsDateDisabled","useLocalizationContext","useCalendarState","params","referenceDate","referenceDateProp","disableSwitchToMonthOnDayFocus","onMonthChange","reduceAnimations","reducerFn","createCalendarStateReducer","state","slideDirection","currentMonth","newMonth","isMonthSwitchingAnimating","focusedDay","needMonthSwitch","withoutMonthSwitchingAnimation","getInitialReferenceValue","granularity","SECTION_TYPE_GRANULARITY","calendarState","dispatch","handleChangeMonth","payload","changeMonth","newDate","newDateRequested","isDateDisabled","onMonthSwitchingAnimationEnd","changeFocusedDay","newFocusedDate","getPickersFadeTransitionGroupUtilityClass","PickersFadeTransitionGroupRoot","TransitionGroup","PickersFadeTransitionGroup","transKey","Fade","appear","mountOnEnter","unmountOnExit","timeout","enteringScreen","enter","exit","getPickersDayUtilityClass","pickersDayClasses","caption","DAY_SIZE","short","focusOpacity","willChange","dark","contrastText","fontWeightMedium","disableMargin","DAY_MARGIN","outsideCurrentMonth","showDaysOutsideCurrentMonth","disableHighlightToday","today","dayWithMargin","dayOutsideMonth","hiddenDaySpacingFiller","PickersDayRoot","PickersDayFiller","noop","PickersDayRaw","forwardedRef","autoFocus","isAnimating","onDaySelect","onMouseEnter","isToday","isHiddenDaySpacingFiller","centerRipple","PickersDay","replaceClassName","origClass","classToRemove","replace","removeClass","node","element","classList","remove","setAttribute","baseVal","CSSTransition","_React$Component","_this","args","apply","appliedClasses","onEnter","maybeNode","maybeAppearing","_this$resolveArgument","resolveArguments","appearing","removeClasses","addClass","onEntering","_this$resolveArgument2","onEntered","_this$resolveArgument3","onExit","onExiting","onExited","getClassNames","classNames","isStringClassNames","baseClassName","activeClassName","doneClassName","_inheritsLoose","_proto","prototype","phase","forceReflow","add","hasClass","_addClass","_this$appliedClasses$","done","render","_this$props","Transition","defaultProps","propTypes","getPickersSlideTransitionUtilityClass","pickersSlideTransitionClasses","PickersSlideTransitionRoot","slideEnterActive","slideExit","slideTransition","complex","easing","getDayCalendarUtilityClass","weeksContainerHeight","PickersCalendarDayRoot","PickersCalendarDayHeader","header","PickersCalendarWeekDayLabel","weekDayLabel","textAlign","PickersCalendarWeekNumberLabel","weekNumberLabel","PickersCalendarWeekNumber","PickersCalendarLoadingContainer","loadingContainer","minHeight","PickersCalendarSlideTransition","enterActive","exitActive","transitionClasses","childFactory","PickersCalendarWeekContainer","monthContainer","PickersCalendarWeek","weekContainer","WrappedDay","parentProps","focusableDay","selectedDays","currentMonthNumber","isViewFocused","useNow","isFocusableDay","isSelected","selectedDay","Day","_useSlotProps","valueOf","dayProps","isDisabled","isFirstVisibleCell","isLastVisibleCell","DayCalendar","onFocusedDayChange","loading","onSelectedDaysChange","readOnly","renderLoading","TransitionProps","dayOfWeekFormatter","toUpperCase","hasFocus","onFocusedViewChange","gridLabelId","displayWeekNumber","fixedWeekNumber","internalHasFocus","setInternalHasFocus","internalFocusedDay","setInternalFocusedDay","handleDaySelect","focusDay","handleKeyDown","newFocusedDayDefault","nextAvailableMonth","closestDayToFocus","findClosestEnabledDate","handleFocus","handleBlur","currentYearNumber","validSelectedDays","transitionKey","slideNodeRef","startOfCurrentWeek","weeksToDisplay","currentMonthWithTimezone","toDisplay","nextMonth","additionalWeeks","hasCommonWeek","week","calendarWeekNumberHeaderLabel","calendarWeekNumberHeaderText","getWeekdays","calendarWeekNumberAriaLabelText","calendarWeekNumberText","dayIndex","getPickersMonthUtilityClass","pickersMonthClasses","PickersMonthRoot","flexBasis","monthsPerRow","MonthCalendarButton","monthButton","subtitle1","activeChannel","PickersMonth","ariaCurrent","MonthButton","monthButtonProps","getMonthCalendarUtilityClass","MonthCalendarRoot","alignContent","DIALOG_WIDTH","MonthCalendar","useMonthCalendarDefaultizedProps","onMonthFocus","timezoneProp","handleValueChange","useControlledValueWithTimezone","todayMonth","selectedMonth","focusedMonth","setFocusedMonth","changeHasFocus","newHasFocus","isMonthDisabled","dateToValidate","firstEnabledMonth","lastEnabledMonth","monthToValidate","handleMonthSelection","focusMonth","prevFocusedMonth","monthsInYear","handleMonthFocus","handleMonthBlur","getMonthsInYear","monthNumber","monthText","monthLabel","getPickersYearUtilityClass","pickersYearClasses","PickersYearRoot","yearsPerRow","YearCalendarButton","yearButton","PickersYear","YearButton","yearButtonProps","getYearCalendarUtilityClass","YearCalendarRoot","overflowY","MAX_CALENDAR_HEIGHT","YearCalendar","useYearCalendarDefaultizedProps","onYearFocus","todayYear","selectedYear","focusedYear","setFocusedYear","isYearDisabled","yearToValidate","handleYearSelection","focusYear","prevFocusedYear","handleYearFocus","handleYearBlur","scrollerRef","tabbableButton","offsetTop","scrollTop","elementBottom","yearNumber","getPickersCalendarHeaderUtilityClass","pickersCalendarHeaderClasses","PickersCalendarHeaderRoot","PickersCalendarHeaderLabelContainer","labelContainer","body1","PickersCalendarHeaderLabel","PickersCalendarHeaderSwitchViewButton","IconButton","switchViewButton","view","switchViewIcon","PickersCalendarHeaderSwitchViewIcon","ArrowDropDownIcon","PickersCalendarHeader","onViewChange","labelId","SwitchViewButton","switchViewButtonProps","calendarViewSwitchingButtonAriaLabel","SwitchViewIcon","switchViewIconProps","isNextMonthDisabled","useNextMonthDisabled","isPreviousMonthDisabled","usePreviousMonthDisabled","handleToggleView","find","el","nextIndexToOpen","id","in","PickersArrowSwitcher","onGoToPrevious","selectPreviousMonth","isPreviousDisabled","previousLabel","previousMonth","onGoToNext","selectNextMonth","isNextDisabled","nextLabel","getDateCalendarUtilityClass","DateCalendarRoot","PickerViewRoot","VIEW_HEIGHT","DateCalendarViewTransitionContainer","viewTransitionContainer","DateCalendar","useId","defaultReduceAnimations","useDefaultReduceAnimations","useDateCalendarDefaultizedProps","onYearChange","inView","focusedView","inFocusedView","setView","setFocusedView","goToNextView","setValueAndGoToNextView","useViews","minDateWithDisabled","maxDateWithDisabled","CalendarHeader","calendarHeader","calendarHeaderProps","handleDateMonthChange","closestEnabledDate","handleDateYearChange","handleSelectedDayChange","mergeDateAndTime","baseDateValidationProps","commonViewProps","prevOpenViewRef","renderDateViewCalendar","sx","isDatePickerView","DesktopDatePicker","defaultizedProps","viewRenderers","openPickerIcon","CalendarIcon","field","resolveComponentProps","extractValidationProps","hidden","renderPicker","useDesktopPicker","getOpenDialogAriaText","openDatePickerDialogue","closeOnSelect","disableOpenPicker","formatDensity","inputRef","refType","onAccept","onClose","onError","onOpen","onSelectedSectionsChange","selectedSections","isRequired","MobileDatePicker","useMobilePicker","DatePicker","desktopModeMediaQuery","DEFAULT_DESKTOP_MODE_MEDIA_QUERY","useMediaQuery","defaultMatches","MuiPickersAdapterContext","LocalizationProvider","inLocaleText","otherInProps","parentUtils","parentLocaleText","dateAdapter","DateAdapter","dateFormats","dateLibInstance","adapterLocale","themeLocaleText","instance","getPickersLayoutUtilityClass","pickersLayoutClasses","PickersActionBar","onClear","onCancel","onSetToday","actions","actionType","Button","clearButtonLabel","cancelButtonLabel","okButtonLabel","todayButtonLabel","DialogActions","PickersShortcuts","items","changeImportance","resolvedItems","item","List","dense","ListItem","Chip","wrapperVariant","onSelectShortcut","contentWrapper","actionBar","tabs","landscape","shortcuts","ActionBar","actionBarProps","Toolbar","toolbarProps","toolbarHasView","Tabs","Shortcuts","shortcutsProps","PickersLayoutRoot","gridAutoColumns","gridAutoRows","gridColumn","gridRow","PickersLayoutContentWrapper","PickersLayout","usePickerLayout","getPickersTextFieldUtilityClass","getPickersInputBaseUtilityClass","pickersInputBaseClasses","getPickersOutlinedInputUtilityClass","pickersOutlinedInputClasses","OutlineRoot","notchedOutline","borderStyle","borderWidth","minWidth","onBackgroundChannel","OutlineLabel","fontFamily","OutlineLegend","float","withLabel","lineHeight","easeOut","visibility","notched","delay","Outline","getPickersSectionListUtilityClass","pickersSectionListClasses","PickersSectionListRoot","PickersSectionListSection","section","PickersSectionListSectionSeparator","sectionSeparator","PickersSectionListSectionContent","sectionContent","PickersSection","Section","sectionProps","container","SectionContent","sectionContentProps","suppressContentEditableWarning","SectionSeparator","sectionSeparatorBeforeProps","before","sectionSeparatorAfterProps","after","PickersSectionList","elements","sectionListRef","handleRootRef","getRoot","methodName","getSectionContainer","getSectionContent","getSectionIndexFromDOMElement","sectionContainer","parentElement","dataset","sectionindex","contentEditable","elementIndex","PickersInputBaseRoot","letterSpacing","PickersInputBaseSectionsContainer","sectionsContainer","flexGrow","paddingTop","adornedStart","focused","filled","inputPlaceholder","PickersInputBaseSection","PickersInputBaseSectionContent","PickersInputBaseSectionSeparator","PickersInputBaseInput","hiddenInput","PickersInputBase","areAllSectionsEmpty","endAdornment","startAdornment","renderSuffix","onInput","onPaste","handleInputRef","setAdornedStart","onEmpty","onFilled","sectionBefore","sectionAfter","InputRoot","inputRootProps","InputSectionsContainer","stopPropagation","PickersOutlinedInputRoot","PickersOutlinedInputSectionsContainer","PickersOutlinedInput","ownerStateProp","composedClasses","shrink","getPickersFilledInputUtilityClass","pickersFilledInputClasses","PickersFilledInputRoot","light","bottomLineColor","hoverBackground","FilledInput","bg","shorter","hoverBg","disabledBg","disableUnderline","borderBottom","borderBottomColor","inputUnderline","borderBottomStyle","PickersFilledSectionsContainer","PickersFilledInput","getPickersInputUtilityClass","pickersInputClasses","PickersInputRoot","PickersInput","VARIANT_COMPONENT","standard","outlined","PickersTextFieldRoot","FormControl","onKeyUp","idProp","helperText","FormHelperTextProps","InputLabelProps","helperTextId","inputLabelId","PickersInputComponent","InputLabel","htmlFor","FormHelperText","validateTime","minTime","maxTime","minutesStep","shouldDisableTime","disableIgnoringDatePartForTimeValidation","createIsAfterIgnoreDatePart","TimeField","useDefaultizedTimeField","useTimeField","getPickersToolbarTextUtilityClass","pickersToolbarTextClasses","PickersToolbarTextRoot","PickersToolbarText","PickersToolbarButtonRoot","textTransform","PickersToolbarButton","typographyClassName","getPickersToolbarUtilityClass","getTimePickerToolbarUtilityClass","timePickerToolbarClasses","hourMinuteLabel","ampmSelection","ampmLabel","TimePickerToolbarRoot","TimePickerToolbarSeparator","TimePickerToolbarHourMinuteLabel","hourMinuteLabelLandscape","hourMinuteLabelReverse","TimePickerToolbarAmPmSelection","ampmLandscape","TimePickerToolbar","ampm","ampmInClock","showAmPmControl","includes","meridiemMode","handleMeridiemChange","useMeridiemMode","landscapeDirection","timePickerToolbarTitle","arrayIncludes","disableRipple","formatMeridiem","useTimePickerDefaultizedProps","getTimeClockUtilityClass","CLOCK_WIDTH","CLOCK_HOUR_WIDTH","clockCenter","cx","cy","getAngleValue","offsetX","offsetY","atan","atan2","deg","PI","delta","sqrt","getClockPointerUtilityClass","ClockPointerRoot","shouldAnimate","ClockPointerThumb","hasSelected","ClockPointer","isInner","viewValue","previousType","getAngleStyle","angle","getClockUtilityClass","ClockRoot","ClockClock","clock","flexShrink","ClockWrapper","wrapper","ClockSquareMask","squareMask","userSelect","ClockPin","pin","meridiemButtonCommonStyles","ClockAmButton","amButton","ClockPmButton","pmButton","ClockMeridiemText","meridiemText","textOverflow","Clock","isTimeDisabled","selectedId","isMoving","isSelectedTimeDisabled","isPointerInner","isFinish","setTime","rect","newSelectedValue","angleStep","hour","keyboardControlStep","listboxRef","onTouchMove","onTouchEnd","onMouseUp","onMouseMove","clockLabelText","getClockNumberUtilityClass","clockNumberClasses","ClockNumberRoot","inner","ClockNumber","cos","sin","getHourNumbers","getClockNumberText","currentHours","hourNumbers","endHour","getMinutesNumbers","f","numberValue","useClockReferenceDate","getTodayDate","TimeClockRoot","TimeClockArrowSwitcher","arrowSwitcher","TIME_CLOCK_DEFAULT_VIEWS","TimeClock","showViewSwitcher","valueOrReferenceDate","previousView","nextView","rawValue","viewType","shouldCheckPastEnd","containsValidTime","isValidValue","timeValue","valueWithMeridiem","convertValueToMeridiem","dateWithNewHours","dateWithNewMinutes","dateWithNewSeconds","viewProps","handleHoursChange","hourValue","hoursClockNumberText","minutesValue","handleMinutesChange","minuteValue","minutesClockNumberText","secondsValue","handleSecondsChange","secondValue","secondsClockNumberText","openPreviousView","openNextView","getDigitalClockUtilityClass","DigitalClockRoot","scrollBehavior","DIGITAL_CLOCK_VIEW_HEIGHT","alreadyRendered","DigitalClockList","MenuList","list","DigitalClockItem","MenuItem","DigitalClock","containerRef","timeStep","skipDisabled","handleRawValueChange","ClockItem","digitalClockItem","clockItemProps","handleItemSelect","activeItem","valueToCheck","timeOptions","from","ceil","focusedOptionIndex","findIndex","option","formattedValue","getMultiSectionDigitalClockUtilityClass","getMultiSectionDigitalClockSectionUtilityClass","MultiSectionDigitalClockSectionRoot","MultiSectionDigitalClockSectionItem","MULTI_SECTION_CLOCK_SECTION_WIDTH","MultiSectionDigitalClockSection","previousActive","DigitalClockSectionItem","digitalClockSectionItem","isFocused","autoFocusItem","isItemDisabled","getHourSectionOptions","resolveAriaLabel","overriddenCurrentHours","resolvedCurrentHours","getTimeSectionOptions","resolveLabel","hasValue","MultiSectionDigitalClockRoot","MultiSectionDigitalClock","timeSteps","inTimeSteps","inViews","selectionState","selectedView","handleMeridiemValueChange","buildViewProps","viewToBuild","amLabel","pmLabel","viewsToRender","v","toReversed","viewTimeOptions","currentView","timeView","selectViewText","renderTimeViewClock","isTimeView","renderDigitalClockTimeView","renderMultiSectionDigitalClockTimeView","resolveViews","shouldUseSingleColumn","isInternalTimeView","DesktopTimePicker","shouldRenderTimeInASingleColumn","resolvedViews","thresholdToRenderTimeInASingleColumn","inThreshold","resolveShouldRenderTimeInASingleColumn","threshold","resolveTimeViewsResponse","renderTimeView","actionBarActions","resolveTimeFormat","ClockIcon","openTimePickerDialogue","MobileTimePicker","TimePicker","clearable","clearButton","MuiIconButton","fieldClearLabel","iconButtonProps","EndClearIcon","clearIcon","ClearIcon","endClearIconProps","InputAdornment","createSvgIcon","ArrowLeftIcon","ArrowRightIcon","getPickersArrowSwitcherUtilityClass","PickersArrowSwitcherRoot","PickersArrowSwitcherSpacer","spacer","PickersArrowSwitcherButton","isNextHidden","isPreviousHidden","previousIconButton","nextIconButton","leftArrowIcon","rightArrowIcon","nextProps","isHidden","goTo","previousProps","PreviousIconButton","previousIconButtonProps","edge","NextIconButton","nextIconButtonProps","LeftArrowIcon","leftArrowIconProps","RightArrowIcon","_useSlotProps2","rightArrowIconProps","PickersToolbarRoot","PickersToolbarContent","flex","titleId","penIconButton","getMeridiem","timeWithMeridiem","convertToMeridiem","defaultFormat","mobileVersionMatches","navigator","userAgent","androidVersion","iOSVersion","slowAnimationDevices","getPickersPopperUtilityClass","PickersPopperRoot","MuiPopper","modal","PickersPopperPaper","MuiPaper","placement","PickersPopperPaperWrapper","PaperComponent","popperPlacement","inOwnerState","paperSlotProps","paperClasses","onPaperClick","onPaperTouchStart","paperProps","onTouchStart","PickersPopper","anchorEl","shouldRestoreFocus","onDismiss","inReduceAnimations","lastFocusedElementRef","getActiveElement","HTMLElement","setTimeout","clickAwayRef","onClickAway","movedRef","syntheticEventRef","activatedRef","armClickAwayListener","handleClickAway","insideReactTree","documentElement","clientWidth","clickedRootScrollbar","insideDOM","composedPath","handleSynthetic","useClickAwayListener","paperRef","handlePaperRef","desktopTransition","Grow","FocusTrap","desktopTrapFocus","BaseFocusTrap","desktopPaper","Popper","popper","popperProps","disableAutoFocus","disableRestoreFocus","disableEnforceFocus","isEnabled","pickerParams","innerSlotProps","fieldRef","isToolbarHidden","hasUIView","layoutProps","renderCurrentView","fieldProps","pickerFieldProps","usePicker","autoFocusView","additionalViewProps","inputAdornment","MuiInputAdornment","inputAdornmentProps","OpenPickerButton","openPickerButton","openPickerButtonProps","OpenPickerIcon","Field","slotsForField","Layout","layout","labelledById","handleFieldRef","unstableFieldRef","getSectionPlaceholder","sectionConfig","sectionFormat","fieldYearPlaceholder","digitAmount","fieldMonthPlaceholder","fieldDayPlaceholder","fieldWeekDayPlaceholder","fieldHoursPlaceholder","fieldMinutesPlaceholder","fieldSecondsPlaceholder","fieldMeridiemPlaceholder","createSection","shouldRespectLeadingZeros","localizedDigits","startSeparator","getDateSectionConfigFromFormatToken","hasLeadingZerosInFormat","doesSectionFormatHaveLeadingZeros","hasLeadingZerosInInput","isValidDate","sectionValue","applyLocalizedDigits","cleanLeadingZeros","removeLocalizedDigits","placeholder","endSeparator","modified","buildSectionsFromFormat","expandedFormat","formatExpansionOverflow","prevFormat","nextFormat","reverse","escapedParts","startChar","endChar","regExp","exec","lastIndex","getEscapedPartsFromFormat","sections","validTokens","regExpFirstWordInFormat","regExpWordOnlyComposedOfTokens","regExpFirstTokenInWord","getEscapedPartOfCurrentChar","escapeIndex","escapedPartOfCurrentChar","isEscapedChar","firstWordInFormat","word","firstWord","char","buildSections","cleanSeparator","cleanedSeparator","postProcessSections","isQueryResponseWithoutValue","response","saveQuery","useFieldCharacterEditing","updateSectionValue","sectionsValueBoundaries","setTempAndroidValueStr","query","setQuery","resetQuery","sectionIndex","clearTimeout","applyQuery","getFirstSectionValueMatchingWithQuery","isValidQueryValue","keyPressed","cleanKeyPressed","activeSection","concatenatedQueryValue","queryResponse","applyCharacterEditing","isStringNumber","getNewSectionValue","queryValue","cleanQueryValue","queryValueNumber","sectionBoundaries","currentDate","maximum","minimum","shouldGoToNextSection","cleanDigitSectionValue","changeSectionValueFormat","getDaysInWeekStr","applyNumericEditing","findMatchingOptions","matchingValues","startsWith","testQueryOnFormatAndFallbackFormat","fallbackFormat","formatFallbackValue","getOptions","getLetterEditingOptions","fallbackOptions","fallbackValue","applyLetterEditing","newSectionValue","resetCharacterQuery","useFieldV7TextField","inSectionListRef","focusedProp","setSelectedSections","parsedSelectedSections","clearActiveSection","clearValue","updateValueFromValueStr","sectionOrder","handleSectionListRef","setFocused","interactions","syncSelectionToDOM","selection","getSelection","rangeCount","getRangeAt","startContainer","removeAllRanges","window","Range","selectNodeContents","addRange","getActiveSectionIndexFromDOM","focusField","newSelectedSections","newParsedSelectedSections","parseSelectedSections","isFieldFocused","revertDOMSectionChange","innerHTML","handleContainerClick","isDefaultPrevented","cursorPosition","startOffset","startIndex","cursorOnStartOfSection","handleContainerInput","textContent","handleContainerPaste","pastedValue","clipboardData","getData","handleContainerFocus","_len2","_key2","handleContainerBlur","_len3","_key3","getInputContainerClickHandler","handleInputContentMouseUp","getInputContentFocusHandler","handleInputContentPaste","lettersOnly","digitsOnly","digitsAndLetterOnly","handleInputContentDragOver","dataTransfer","dropEffect","handleInputContentInput","inputType","domElement","next","isContainerEditable","isEditable","getSectionValueNow","getSectionValueText","empty","spellCheck","autoCapitalize","autoCorrect","onDragOver","inputMode","handleValueStrChange","valueStr","getV7HiddenInputValueFromSections","returnedValue","cleanString","dirtyString","useFieldV6TextField","focusTimeoutRef","selectionSyncTimeoutRef","inputRefProp","inPlaceholder","activeSectionIndex","getSectionsFromValue","addPositionPropertiesToSections","positionInInput","newSections","renderedValue","getSectionVisibleValue","sectionStr","sectionLength","sectionLengthInInput","cleanedValue","startInInput","endInInput","scrollLeft","currentScrollTop","select","selectedSection","selectionStart","selectionEnd","setSelectionRange","browserStartIndex","browserEndIndex","nextSectionIndex","newSelectedSection","syncSelectionFromDOM","handleInputFocus","handleInputClick","handleInputPaste","handleInputChange","targetValue","eventData","data","shouldUseEventData","cleanValueStr","prevValueStr","getV6InputValueFromSections","startOfDiffIndex","endOfDiffIndex","activeSectionEndRelativeToNewValue","isAndroid","emptyValue","tempValueStrAndroid","inputHasFocus","autoComplete","stateResponse","selectedSectionsProp","valueFromTheOutside","useValueWithTimezone","getLocalizedDigits","getSectionsBoundaries","fallbackSections","setState","validateSections","stateWithoutReferenceDate","referenceValue","getSectionTypeGranularity","innerSetSelectedSections","publishValue","prevState","validationError","setSectionValue","shouldUpdate","updateReferenceValue","activeDateManager","getActiveDateManager","hasNoOtherNonEmptySections","getSections","newActiveDate","newValues","getNewValuesFromNewActiveDate","newActiveDateSections","getDateFromDateSections","shouldPublish","mergedDate","mergeDateIntoReferenceDate","parseValueStr","parseDateStr","dateStr","newReferenceValue","prev","useFieldState","characterEditingResponse","useFieldTextField","getSectionOrder","handleContainerKeyDown","ctrlKey","metaKey","altKey","endIndex","neighbors","rightIndex","leftIndex","adjustSectionValue","useValidation","isSameError","defaultErrorState","inputError","hasError","getActiveSectionIndex","commonForwardedProps","commonAdditionalProps","formatToken","config","weekDay","NON_LOCALIZED_DIGITS","digits","currentFormattedDigit","matchingDigitIndex","nonLocalizedValueStr","longestMonth","keyCode","activeDate","stepsAttributes","getDeltaFromKeyCode","isStart","isEnd","shouldSetAbsolute","adjustDigitSection","getCleanValue","newSectionValueNumber","adjustLetterSection","currentOptionIndex","hasLeadingZeros","currentFormat","newFormat","isFourDigitYearFormat","shouldSkipWeekDays","sectionFormats","sectionValues","formatWithoutSeparator","dateWithoutSeparatorStr","createDateStrForV7HiddenInputFromSections","createDateStrForV6InputFromSections","dateValue","maxDaysInMonth","daysInWeek","lastHourInDay","reliableSectionModificationOrder","dateToTransferFrom","shouldLimitToEditedSections","transferDateSectionValue","dateToTransferTo","formattedDaysInWeek","dayInWeekStrOfActiveDate","dayInWeekOfActiveDate","isAM","mergedDateHours","shouldApplyRTL","rtl2ltr","ltr2rtl","groupedSectionsStart","groupedSectionsEnd","RTLIndex","rtlIndex","parsedDate","PickersModalDialogRoot","MuiDialog","dialogClasses","PickersModalDialogContent","DialogContent","PickersModalDialog","Dialog","dialog","mobileTransition","TransitionComponent","mobilePaper","PaperProps","onSpaceOrEnter","usePickerValue","inValueWithoutRenderTimezone","inDefaultValue","isControlled","isOpen","setIsOpen","isControllingOpenProp","openState","setIsOpenState","newIsOpen","useOpenState","inValueWithTimezoneToRender","dateState","setDateState","initialValue","draft","lastPublishedValue","lastCommittedValue","lastControlledValue","hasBeenModifiedSinceMount","updateDate","updaterParams","hasChanged","comparison","isCurrentValueTheDefaultValue","pickerAction","shouldPublishValue","shouldCommit","shouldCommitValue","shouldClose","shouldClosePicker","cachedContext","getContext","shortcut","isUpdateComingFromPicker","handleClear","handleAccept","handleDismiss","handleCancel","handleSetToday","getTodayValue","handleOpen","handleClose","handleSelectShortcut","handleChangeFromField","cleanValue","testedValue","getOrientation","screen","usePickerLayoutProps","propsFromPickerValue","propsFromPickerViews","useIsLandscape","customOrientation","setOrientation","eventHandler","rendererInterceptor","pickerValueResponse","pickerViewsResponse","propsToForwardToView","defaultView","viewModeLookup","viewForReduce","viewMode","timeViewsCount","currentViewMode","popperView","setPopperView","newView","renderer","rendererProps","usePickerViews","pickerLayoutResponse","enUSPickers","dateTimePickerToolbarTitle","dateRangePickerToolbarTitle","timeTableLabel","dateTableLabel","repeat","DEFAULT_LOCALE","pickersTranslations","localization","validate","previousValidationErrorRef","firstDefaultValue","inputValue","inputTimezone","setInputTimezone","timezoneToRender","newValueWithInputTimezone","otherParams","onChangeProp","valueWithInputTimezone","setValue","previousOpenTo","previousViews","defaultFocusedView","viewIndex","handleFocusedViewChange","viewToFocus","prevFocusedView","handleChangeView","currentViewSelectionState","isSelectionFinishedOnCurrentView","hasMoreViews","nextViewAfterSelected","dateParam","timeParam","forward","backward","replaceInvalidDateByNull","areDatesEqual","months","prevMonth","dateViews","isInToolbar","areViewsEqual","SHARED_FIELD_INTERNAL_PROP_NAMES","extractProp","propName","hasOwnProperty","DATE_VALIDATION_PROP_NAMES","TIME_VALIDATION_PROP_NAMES","DATE_TIME_VALIDATION_PROP_NAMES","roundDate","roundedDate","getDefaultReferenceDate","inGetTodayDate","timeViews","newHoursAmount","getSecondsInDay","array","itemOrItems","innerFn","externalEvent","activeEl","shadowRoot","VALIDATION_PROP_NAMES","extractedProps","prevReferenceValue","prevSections","getSectionsFromDate","parseDate","trim","expectedViews","expectedView","viewsWithDefault","openToWithDefault","module","o","loaded","p","__esModule","assign","u","w","k","disable","once","startEvent","throttleDelay","debounceDelay","disableMutationObserver","j","O","removeAttribute","S","mobile","phone","tablet","all","atob","isSupported","console","info","readyState","ready","init","refresh","refreshHard","g","r","l","TypeError","leading","maxWait","trailing","cancel","flush","Symbol","iterator","self","Function","aos","MutationObserver","WebKitMutationObserver","MozMutationObserver","observe","childList","subtree","removedNodes","addedNodes","vendor","opera","enumerable","configurable","substr","pageYOffset","innerHeight","anchor","anchorPlacement","querySelectorAll","offsetLeft","tagName","offsetParent","browsers","os","pattern","osVersions","mobileRegExp","mobilePrefixRegExp","Detector","detect","version","versionTail","versionNumber","platform","handleMissingError","__assign","checkBrowser","checkMobile","checkOs","definition","versionTails","agentPrefix","getOsPattern","osSuffix","os$$1","definitionInterface","global","__g","core","__e","_isObject","it","_anObject","_fails","_descriptors","get","_global","is","createElement","_ie8DomDefine","dP","P","Attributes","fn","val","_toPrimitive","_hide","object","_objectDp","bitmap","_propertyDesc","_has","px","random","_uid","SRC","TO_STRING","$toString","TPL","_core","inspectSource","safe","isFunction","_ctx","that","_aFunction","PROTOTYPE","$export","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","B","expProto","_redefine","U","W","R","_export","_cof","_iobject","propertyIsEnumerable","_defined","_toLength","_toInteger","_isArray","arg","SHARED","store","copyright","SPECIES","_shared","USE_SYMBOL","_wks","_arraySpeciesCreate","original","C","_arrayMethods","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","res","_strictMethod","method","$filter","$map","_stringWs","space","ltrim","rtrim","exporter","KEY","ALIAS","FORCE","$trim","injectableNavigator","injectableProcess","mergeClassNames","tz","load","factory","define","moment","cachedGuess","zones","links","countries","names","guesses","logError","momentVersion","major","minor","charCodeToInt","charCode","unpackBase60","whole","fractional","multiplier","sign","arrayToInt","mapIndices","indices","unpack","offsets","untils","intToUntil","abbrs","population","Zone","packedString","_set","Country","country_name","zone_names","OffsetAt","at","timeString","toTimeString","abbr","getTimezoneOffset","ZoneScore","zone","offsetScore","abbrScore","findChange","low","high","mid","sortZoneScores","localeCompare","addToGuesses","guessesForUserOffsets","guessesOffset","offsetsLength","filteredGuesses","checkedOffsets","rebuildGuess","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","normalizeName","zoneScore","change","nextOffset","startYear","last","lastOffset","userOffsets","zoneScores","getZone","scoreOffsetAt","addZone","packed","normalized","caller","link","addLink","aliases","alias","normal0","normal1","needsOffset","isUnixTimestamp","_f","_a","_tzm","message","utc","isMoment","unpacked","_index","arr","len","lo","hi","closest","zone_name","country_code","offsetNext","offsetPrev","moveAmbiguousForward","moveInvalidForward","mom","utcOffset","offsetAt","dataVersion","_zones","_links","_names","_countries","country_zones","addCountries","zoneExists","didShowError","guess","ignoreCache","zonesForCountry","country","with_offset","old","abbrWrap","_z","resetZoneWrap","defaultZone","updateOffset","keepTime","_isUTC","_d","z","zoneName","zoneAbbr","local","setDefault","momentProperties","hookCallback","hooks","setHookCallback","callback","isObject","hasOwnProp","isObjectEmpty","getOwnPropertyNames","isUndefined","isNumber","isDate","arrLen","extend","createUTC","strict","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","flags","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","_isValid","createInvalid","fun","updateInProgress","copyConfig","to","momentPropertiesLen","_isAMomentObject","_i","_l","_offset","_locale","Moment","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","stack","deprecations","deprecateSimple","set","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_calendar","zeroFill","number","targetLength","forceSign","absNumber","zerosToFill","pow","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","ordinal","func","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","invalidDate","replaceLongDateFormatTokens","longDateFormat","defaultLongDateFormat","LTS","LT","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","future","past","ww","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","D","dates","weekdays","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","ms","millisecond","minute","Q","quarters","quarter","second","gg","weekyears","weekyear","GG","isoweekyears","isoweekyear","weeks","isoweeks","isoweek","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","isoWeekday","dayOfYear","weekYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","priority","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","isFinite","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","set$1","isUTC","getUTCMilliseconds","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCDay","getUTCMonth","getUTCFullYear","setUTCMilliseconds","setUTCSeconds","setUTCMinutes","setUTCHours","setUTCDate","setUTCFullYear","stringGet","stringSet","prioritized","prioritizedLen","mod","modMonth","monthsShort","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setUTCMonth","getSetMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","firstWeekOffset","dow","doy","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","weekdaysMin","weekdaysShort","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","dayOfMonthOrdinalParse","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","defineLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","configFromArray","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","temp","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","preparse","configFromInput","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","_milliseconds","_days","_data","_bubble","isDuration","absRound","compareArrays","dontConvert","lengthDiff","diffs","offsetFromString","chunkOffset","matcher","matches","cloneWithOffset","model","clone","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","period","tmp","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","property","objectTest","propertyTest","properties","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","toISOString","keepOffset","inspect","prefix","datetime","suffix","inputString","defaultFormatUtc","postformat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","isDSTShifted","proto$1","get$1","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","limit","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","defaultDatasetIdKey","reforwardRef","setLabels","currentData","nextLabels","labels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","datasets","nextDataset","currentDataset","cloneData","nextData","ChartComponent","param","redraw","plugins","fallbackContent","updateMode","canvasRef","useRef","chartRef","renderChart","Chart$1","destroyChart","destroy","useEffect","chart","nextOptions","update","Chart","forwardRef","createTypedChart","registerables","register","Bar","BarController","_react","_propTypes","_mergeClassNames","_Hand","_Mark","_dates","_propTypes2","hourHandLength","hourHandOppositeLength","hourHandWidth","hourMarksLength","hourMarksWidth","minuteHandLength","minuteHandOppositeLength","minuteHandWidth","minuteMarksLength","minuteMarksWidth","renderHourMarks","renderMinuteHand","renderMinuteMarks","renderNumbers","renderSecondHand","secondHandLength","secondHandOppositeLength","secondHandWidth","dateTime","minuteMarks","renderMinuteMarksFn","hourMarks","renderHourMarksFn","oppositeLength","renderHourHandFn","renderMinuteHandFn","renderSecondHandFn","oneOfType","arrayOf","isHandLength","isOppositeHandLength","isHandWidth","isMarkLength","isMarkWidth","bool","instanceOf","Hand","_Clock","_default","hourOptionalSecondsRegExp","hourString","minuteString","hourRegExp","secondString","_utils","_typeof","isNumberBetween","isDefined","variable","installedModules","__webpack_require__","moduleId","modules","condition","argIndex","framesToPop","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","getOwnPropertySymbols","propIsEnumerable","test1","test2","fromCharCode","test3","letter","err","shouldUseNative","symbols","warning","typeSpecs","location","getStack","svgSources","Loading","delayed","_this2","_props","restProps","_objectWithoutProperties","selectedType","svg","_react2","dangerouslySetInnerHTML","__html","q","A","encodeURIComponent","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","isReactComponent","forceUpdate","isPureReactComponent","I","J","K","__self","__source","$$typeof","_owner","N","pop","keyPrefix","escape","T","V","Children","only","createRef","PureComponent","createContext","_calculateChangedBits","_defaultValue","_currentValue","_changedBits","Consumer","_context","Fragment","StrictMode","unstable_AsyncMode","cloneElement","createFactory","bind","isValidElement","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","X","freeze","Y","invariant","ReactPropTypesSecret","checkPropTypes","throwOnDirectAccess","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","ANONYMOUS","ReactPropTypes","createPrimitiveTypeChecker","symbol","any","createChainableTypeChecker","typeChecker","propFullName","PropTypeError","getPropType","expectedClass","expectedClassName","isNode","objectOf","propType","oneOf","expectedValues","JSON","stringify","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","shapeTypes","exact","allKeys","checkType","secret","chainedCheckType","expectedType","getPreciseType","iteratorFn","maybeIterable","getIteratorFn","entry","isSymbol","shim","getShim","WiDayCloudy","GenIcon","WiDaySunny","WiSnow","WiThunderstorm","iconContext_1","Tree2Element","tree","attr","IconBase","elem","conf","computedSize","stroke","strokeWidth","IconContext","DefaultContext","thisArg","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","typeOfTest","isArrayBuffer","toStringTag","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","globalThis","isContextDefined","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","postMessageSupported","setImmediate","callbacks","cb","postMessage","asap","queueMicrotask","nextTick","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","forEachEntry","pair","matchAll","freezeMethods","toObjectSet","arrayOrString","delimiter","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","then","catch","AxiosError","request","captureStackTrace","description","fileName","lineNumber","columnNumber","status","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","predicates","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","Buffer","isFlatArray","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","URLSearchParams","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","transitional","transitionalDefaults","transformRequest","headers","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","parser","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","parseHeaders","tokensRE","parseTokens","has","delete","deleted","deleteHeader","normalize","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","samplesCount","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","freq","lastArgs","timer","invoke","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","speedometer","throttle","lengthComputable","progressBytes","rate","progress","estimated","progressEventDecorator","throttled","asyncDecorator","msie","urlParsingNode","originURL","resolveURL","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","cookie","toGMTString","read","decodeURIComponent","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","Promise","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","onreadystatechange","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","abort","subscribe","aborted","parseProtocol","send","composeSignals","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","trackStream","stream","onProgress","onFinish","async","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","getBodyLength","knownAdapters","http","xhr","xhrAdapter","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","contentTypeHeader","_request","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","promises","spread","isAxiosError","formToJSON","getAdapter","uid","isNullOrUndef","isNumberFinite","finiteOrDefault","valueOrDefault","toDimension","dimension","each","loopable","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","klen","isValidKey","_merger","tval","sval","sources","merger","mergeIf","_mergerIf","keyResolvers","resolveObjectKey","resolver","part","_splitKey","_getKeyResolver","_capitalize","defined","setsEqual","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","niceNum","roundedRange","almostEquals","niceRange","fraction","epsilon","_setMinAndMaxByKey","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","table","cmp","_lookupByKey","_rlookupByKey","arrayEvents","unlistenArrayEvents","stub","_chartjs","listeners","_arrayUnique","Set","requestAnimFrame","requestAnimationFrame","updateFn","updateArgs","ticking","rest","_toLeftRightCenter","_alignStartEnd","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","_sorted","iScale","_parsed","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","atEdge","elasticIn","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","lim","p2b","n2b","b2n","n2p","map$1","hex","h1","h2","eq","hexString","isShort","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb","rgb2hsl","hueValue","calln","hsl2rgb","hue","hueParse","hwb2rgb","hsv2rgb","Z","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","nameParse","tkeys","ok","nk","transparent","RGB_RE","modHSL","ratio","fromObject","functionParse","rgbParse","Color","hexParse","_rgb","_valid","valid","rgbString","hslString","mix","weight","c1","c2","w2","w1","interpolate","rgb1","rgb2","clearer","greyscale","opaquer","negate","saturate","desaturate","rotate","index_esm","isPatternOrGradient","getHoverColor","overrides","getScope$1","scope","animation","devicePixelRatio","getDevicePixelRatio","events","font","family","hover","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","intersect","includeInvisible","maintainAspectRatio","onHover","parsing","responsive","scales","showLine","drawActiveElementsOnTop","describe","override","route","targetScope","targetName","scopeObject","targetScopeObject","privateName","_scriptable","_indexable","_fallback","_measureText","gc","longest","textWidth","measureText","_longestText","arrayOfThings","garbageCollect","save","jlen","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","resetTransform","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","_isPointInArea","point","area","clipArea","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","lines","strokeColor","translation","fillStyle","textBaseline","setRenderOpts","strokeStyle","lineWidth","strokeText","fillText","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","objProps","toTRBL","toTRBLCorners","toPadding","toFont","fallback","toFontString","inputs","cacheable","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_keys","_cached","proxy","readKey","needsSubResolver","createSubResolver","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","getKeysFromAllScopes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_subProxy","_stack","setContext","receiver","isScriptable","_resolveScriptable","isIndexable","_resolveArray","_resolveWithContext","scriptable","indexable","_allKeys","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","splineCurveMonotone","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","alphaK","betaK","tauK","squaredMagnitude","monotoneAdjust","iPixel","vPixel","monotoneCompute","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parentNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","positions","getPositionedStyle","useOffsetPos","getRelativePosition","evt","borderBox","paddings","borders","box","touches","getCanvasPosition","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","containerSize","containerStyle","containerBorder","containerPadding","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","readUsedSize","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","cacheKey","formatter","NumberFormat","getNumberFormat","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalizeSegment","_boundSegment","segment","bounds","startBound","endBound","getSegment","prevValue","inside","subStart","shouldStart","shouldStop","_boundSegments","segments","sub","splitByStyles","segmentOptions","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","p0","p0DataIndex","p1DataIndex","styleChanged","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","animator","_charts","_running","_lastDate","_notify","anims","numSteps","initial","currentStep","_refresh","_update","remaining","running","draw","_active","_total","tick","_getAnims","charts","complete","listen","cur","_duration","stop","interpolators","factor","c0","Animation","cfg","_fn","_easing","_start","_loop","_target","_prop","_from","_to","_promises","elapsed","remain","wait","rej","resolved","animationOptions","numbers","resize","show","animations","visible","hide","Animations","_properties","configure","animatedProps","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","awaitAll","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","dsIndex","singleMode","otherValue","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_cachedDataOpts","getMeta","_type","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","reset","_destroy","_dataCheck","adata","convertObjectDataToArray","isExtensible","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","getMinMax","canStack","otherScale","NEGATIVE_INFINITY","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","sharing","datasetElementScopeKeys","resolveNamedOptions","_resolveAnimations","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","numMeta","numData","_insertElements","_removeElements","updateElements","removed","_sync","_dataChanges","_onDataPush","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","_cache","$bar","visibleMetas","getAllScaleValues","curr","_length","updateMinAndPrev","ticks","getPixelForTick","parseValue","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","borderSkipped","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","iAxisKey","vAxisKey","bars","getBasePixel","isHorizontal","ruler","_getRuler","vpixels","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","_getStacks","skipNull","_getStackCount","_getStackIndex","pixels","barThickness","_startPixel","_endPixel","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","rects","_index_","grid","_value_","beginAtZero","BubbleController","tooltip","DoughnutController","innerRadius","outerRadius","_getRotation","_getCircumference","circumference","_getRotationExtents","isDatasetVisible","arcs","getMaxBorderWidth","getMaxOffset","maxSize","cutout","toPercentage","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","LineController","_dataset","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","lastPoint","updateControlPoints","PolarAreaController","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","circular","pointLabels","PieController","RadarController","_fullLoop","pointPosition","getPointPositionForValue","Element","tooltipPosition","useFinalPosition","getProps","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","autoSkip","tickOpts","ticksLimit","maxTicksLimit","tickLength","_tickSize","maxScale","maxChart","_maxLength","determineMaxTicks","majorIndices","enabled","getMajorIndices","numMajorIndices","newTicks","skipMajors","evenMajorSpacing","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","majorStart","majorEnd","grace","drawBorder","drawOnChartArea","drawTicks","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","Scale","_margins","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","suggestedMin","suggestedMax","metas","getPadding","getTicks","xLabels","yLabels","beforeLayout","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetRight","isFullSize","fullSize","_computeLabelSizes","caches","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","createTickContext","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","positionAxisID","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","backdrop","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","fillRect","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","_layers","gz","getSortedVisibleDatasetMetas","axisID","_maxDigits","TypedRegistry","isForType","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","routes","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","unregister","registry","controllers","_typedRegistries","_each","addControllers","_len4","_key4","addPlugins","_len5","_key5","addScales","_len6","_key6","getController","_get","getElement","getPlugin","getScale","removeControllers","_len7","_key7","removeElements","_len8","_key8","removePlugins","_len9","_key9","removeScales","_len10","_key10","typedRegistry","reg","_getRegistryForType","_exec","itemReg","camelMethod","ScatterController","abstract","chartOptions","members","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","handler","getIntersectItems","isPointInArea","inRange","getNearestCartesianItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","setLayoutDims","layouts","wrap","stackWeight","placed","buildStacks","vBoxMaxWidth","hBoxMaxHeight","availableWidth","availableHeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","autoPadding","addBox","removeBox","layoutItem","minPadding","layoutBoxes","wrapBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","buildLayoutBoxes","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","updatePos","handleMaxPadding","BasePlatform","acquireContext","releaseContext","isAttached","updateConfig","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","removeListener","nodeListContains","nodeList","createAttachObserver","observer","trigger","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","addListener","DomPlatform","renderHeight","renderWidth","displayWidth","displayHeight","initCanvas","proxies","$proxies","attach","detach","isConnected","PluginService","_init","notify","hook","_createDescriptors","plugin","cancelable","invalidate","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","initConfig","_scopeCache","_resolverCache","clearCache","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","getCanvas","getElementById","instances","getChart","moveNumericKeys","intKey","userConfig","initialCanvas","existingChart","OffscreenCanvas","_detectPlatform","_options","_aspectRatio","_metasets","_lastEvent","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","order","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","invalidatePlugins","clipArc","pixelMargin","angleMargin","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p8","outerStartX","outerStartY","outerEndX","outerEndY","lineJoin","fullCircles","drawFullCircleBorders","ArcElement","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","strokePathWithCache","segmentMethod","strokePathDirect","LineElement","_points","_segments","_pointsUpdated","findStartAndEnd","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","inRange$1","hitRadius","PointElement","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","half","skipOrLimit","boundingRects","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","outer","skipX","skipY","addNormalRectPath","inflateRect","refRect","BarElement","addRectPath","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","Legend","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","heightLimit","totalWidth","currentColWidth","currentColHeight","col","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","onLeave","isListened","hoveredItem","sameItem","itemsEqual","plugin_legend","_element","_args","afterEvent","ci","Title","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","WeakMap","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","Tooltip","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","getTitle","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","globalAlpha","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","findOrAddLabel","addedLabels","addIfString","lastIndexOf","CategoryScale","_startValue","_valueRange","_addedLabels","added","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","rounded","almostWhole","decimalPlaces","relativeLabelSize","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","stepSize","computeTickLimit","LinearScale","isMajor","tickVal","LogarithmicScale","_zero","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","updateLimits","setCenterPoint","_pointLabelItems","extra","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","buildPointLabelItems","hLimits","vLimits","pathRadiusLine","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","animate","INTERVALS","steps","UNITS","sorter","_adapter","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","addTick","ticksFromTimestamps","majorUnit","setMajorTicks","TimeScale","_unit","_majorUnit","_offsets","_normalized","displayFormats","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","_tickFormatFunction","minorFormat","majorFormat","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","constructNow","formatDistanceToNow","formatDistance","getInternalDefaultOptions","transpose","fromDate","Setter","subPriority","_utcDate","ValueSetter","validateValue","DateToSystemTimezoneSetter","timestampIsSet","Parser","run","dateString","numericPatterns","timezonePatterns","mapValue","parseFnResult","mapFn","parseNumericPattern","matchResult","parseTimezonePattern","millisecondsInSecond","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","dayPeriod","normalizeTwoDigitYear","twoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","trunc","isLeapYearIndex","setWeek","setISOWeek","getISOWeek","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","setDay","currentDay","getISODay","setISODay","parsers","incompatibleTokens","valueCallback","isTwoDigitYear","ordinalNumber","normalizedTwoDigitYear","getWeekYear","firstWeekContainsDate","_flags","firstWeekOfYear","startOfISOWeek","subpriority","wholeWeekDays","getTimezoneOffsetInMilliseconds","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","notWhitespaceRegExp","unescapedLatinCharacterRegExp","formatStr","defaultLocale","subFnOptions","setters","usedTokens","useAdditionalWeekYearTokens","isProtectedWeekYearToken","warnOrThrowProtectedError","useAdditionalDayOfYearTokens","isProtectedDayOfYearToken","incompatibleToken","usedToken","RangeError","fullToken","parseResult","uniquePrioritySetters","setterArray","api","converter","defaultAttributes","attributes","toUTCString","stringifiedAttributes","attributeName","jar","found","withAttributes","withConverter","resetWarningCache","bigint","ut","useMemo","__entries__","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","addObserver","connect_","removeObserver","disconnect_","updateObservers_","gatherActive","hasActive","broadcastActive","characterData","propertyName","getInstance","instance_","SVGGraphicsElement","SVGElement","getBBox","broadcastWidth","broadcastHeight","contentRect_","isActive","$","broadcastRect","DOMRectReadOnly","activeObservations_","observations_","callback_","controller_","callbackCtx_","unobserve","clearActive","te","ne","ie","ae","oe","se","le","preventScrollOnSwipe","rotationAngle","trackMouse","trackTouch","swipeDuration","touchEventOptions","ue","swiping","xy","ce","he","de","pe","me","be","ge","ve","toPrimitive","ye","fullscreen","isFullscreen","originalAlt","originalHeight","originalWidth","originalTitle","sizes","srcSet","we","memo","handleImageLoaded","onImageError","src","alt","onLoad","displayName","Se","Te","Oe","Ee","ke","Ie","maximize","minimize","play","pause","xe","viewBox","Pe","icon","xmlns","strokeLinecap","strokeLinejoin","je","_e","Re","Le","Me","De","Ce","We","isPlaying","Ne","Fe","ze","Be","Ae","Ue","qe","onSwiping","onSwiped","Ge","onTouchStartOrOnMouseDown","timeStamp","absX","absY","velocity","vxvy","onSwipeStart","onTap","onTouchEndOrOnMouseUp","cleanUpTouch","fe","He","Ve","Ke","Ye","$e","Je","et","construct","tt","setPrototypeOf","__proto__","nt","rt","ot","media","which","lt","ReferenceError","onBulletClick","currentIndex","slideToIndexWithStyleReset","slideToIndex","thumbsTranslate","thumbsSwipedTranslate","currentSlideOffset","galleryWidth","galleryHeight","thumbnailsWrapperWidth","thumbnailsWrapperHeight","thumbsStyle","slideDuration","isSwipingThumbnail","loadedImages","imageGallery","thumbnailsWrapper","thumbnails","imageGallerySlideWrapper","handleMouseDown","handleOnSwiped","handleScreenChange","handleSwiping","handleThumbnailSwiping","handleOnThumbnailSwiped","onThumbnailMouseLeave","handleImageError","pauseOrPlay","renderThumbInner","renderItem","slideLeft","slideRight","toggleFullScreen","togglePlay","unthrottledSlideToIndex","lazyLoad","lazyLoaded","Ze","autoPlay","useWindowKeyDown","initSlideWrapperResizeObserver","initThumbnailWrapperResizeObserver","addScreenChangeEvent","slideInterval","thumbnailPosition","showThumbnails","removeResizeObserver","removeThumbnailsResizeObserver","slideThumbnailBar","slideStyle","removeScreenChangeEvent","playPauseIntervalId","clearInterval","transitionTimer","isTransitioning","onSlide","onThumbnailClick","thumbnailMouseOverTimer","onScreenChange","modalFullscreen","disableThumbnailScroll","isThumbnailVertical","scrollHeight","scrollWidth","infinite","gallerySlideWrapperHeight","useTranslate3D","isRTL","slideVertically","getTranslateXForTwoSlide","isSlideVisible","WebkitTransform","MozTransform","msTransform","OTransform","slideOnThumbnailOver","showBullets","getAlignmentClassName","originalClass","thumbnailClass","getSlideStyle","handleSlideKeyUp","thumbnail","handleThumbnailMouseOver","handleThumbnailKeyUp","bulletClass","slides","bullets","slideIsTransitioning","ignoreIsTransitioning","isFirstOrLastSlide","getThumbsTranslate","canSlideNext","canSlidePrevious","disableSwipe","swipingTransitionDuration","swipingUpDown","swipingLeftRight","swipingThumbnailTransitionDuration","resetSwipingDirection","swipeThreshold","flickThreshold","handleOnSwipedTo","sufficientSwipe","canSlideLeft","canSlideRight","disableKeyDown","useBrowserFullscreen","exitFullScreen","onErrorImageURL","resizeThumbnailWrapperObserver","resizeSlideWrapperObserver","offsetWidth","setThumbsTranslate","fullScreen","fullscreenElement","msFullscreenElement","mozFullScreenElement","webkitFullscreenElement","onBeforeSlide","onSliding","slideTo","onThumbnailMouseOver","requestFullscreen","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","setModalFullscreen","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","onPlay","setInterval","onPause","onImageLoad","onThumbnailError","thumbnailHeight","thumbnailWidth","thumbnailAlt","thumbnailTitle","thumbnailLoading","thumbnailLabel","additionalClass","disableThumbnailSwipe","indexSeparator","renderFullscreenButton","renderCustomControls","renderLeftNav","renderRightNav","renderTopNav","renderBottomNav","showFullscreenButton","showIndex","showNav","showPlayButton","renderPlayPauseButton","getThumbnailStyle","getSlideItems","getThumbnailPositionClassName","canSlide","getThumbnailBarHeight","bulletOnClick","imageSet","ct"],"sourceRoot":""}